Ability to switch which upscaler snap uses

Could there be (or is there already that I missed) some way to change the upscaler that snap uses for sprites? I was thinking of some setting that could change between pixel accurate (blurry) and sharp (but is sometimes inaccurate) scaling similar to the way that scratch does for sprites.

Where this can be a problem currently:

For example using this 20 * 16 pixel test pattern:
image

And scaling it up 700%:
image

The edges become very blurry, even more than I would have expected if a program were trying to correct for accuracy by making edges slightly blurred.

After doing the same thing in scratch 3.0: (1400%)
image

The edges are still completely sharp, although I have noticed some inaccuracy when images are very small:

Screenshot 2024-04-17 at 1.03.36 PM
(The second and fourth pixels diagonally from the center are slightly larger)

The current implementation makes it difficult to use small images, without running those images through a different program to scale them up (turn small pixels into larger pixel clusters) and then import them back into snap to remove the blur.

if your working with pixels then yes

Are you asking for the ability to remove antialiasing? That would be very helpful...

This is a known issue. Fortunately, you can actually use this script to scale images using the nearest neighbor algorithm (sharp as you would call it). Unfortunately, it's not fast enough for real time sizing, but at least it beats having to rescale it in an external program. Although, I have a feeling this script could be rewritten using some newer faster scripts.

I could try overnight. :slight_smile: