Others have delved into more details, but I think the ELI5 would be: imagine you have a screen with two pixels, one blue and one yellow, now you want to scale that image down to one pixel, as any 5 year old could tell you blue+yellow is green.
Now imagine you want to scale that screen to up to 3 pixels, a very naive approach would be make the transition smooth and put a green pixel in the middle, but this obviously makes the image blurry. Another naive approach is to replicate a given color, this works really good for pixel art, but makes the scaled image seem as blocky as the original was, except now each pixel is being drawn 4 or 6 times. E.g., imagine a 4×4 checkers board of black and white:
1 0 1 0
0 1 0 1
1 0 1 0
0 1 0 1
That would be escaled to a 8×8 like so:
1 1 0 0 1 1 0 0
1 1 0 0 1 1 0 0
0 0 1 1 0 0 1 1
0 0 1 1 0 0 1 1
1 1 0 0 1 1 0 0
1 1 0 0 1 1 0 0
0 0 1 1 0 0 1 1
0 0 1 1 0 0 1 1
Most stuff uses the first algorithm, games usually use the second and there are algorithms more complex that use a mixture of these two and others, trying to guess where are hard lines that should be preserved and where they should be smoothed.
Latest Answers