Cropped images not "pixel perfect"

Hi there,

one thing that’s driving me nuts today.
Due to some scaling issues in our game I had to re-scale some of my animations.

The goal is to make the character the same size in every animation, regardless of the rendered resolution itself, whether it’s a 800x600 or 2048x2600 px animation.
Let’s say you open up Photoshop afterwards and put a frame from animation A (880x1024) above one from animation B (1600x1200). I want them to stay pixel perfect.

To achieve that, I thought it would be an easy solution to always work on a 3840x2160 canvas in Toon Boom and then use the crop module to bring them down to an appropriate size.

And that works like a charm with the original resolution (which is set in the crop module).
BUT (!) in addition to that, I also have several scale output modules connected to the crop module, because we’re working in three resolutions (low, medium and high, while high is the original).

So now I have both a 880x1024 and a 1600x1200 animation (as the originals) and when I open them in PS, they’re 100% identical.
So far so good.

But then there’s one scale output which scales it down to 50%, which means 440x512 and 800x600 in this case.
And when I open these in PS, they’re different.
The version with 800x600 is about one or two pixels wider.

How can that be?
I could have sworn that it’s mathematically impossible.
If you have two absolutely identical graphics (regardless their resolution), and scale both down to 50%, how come that one appears bigger?

Where is my mistake?

Found a solution.
Just round the character’s position values to the next integer.
Once there’s a comma in it, the images end up slightly different in different resolutions, which seems to be a common issue in graphics software (had a similar issue in Illustrator recently, that’s why it should have come to my mind much earlier).

Hope this helps anyone.

Thanks for posting the solution.