Canvas improvements


If a canvas image is saved, and reloaded in the same canvas many times, its quality degrades A LOT. I can understand that if I save it as a jpg, being a lossy compression format. But it also happens when saving as png. I know png is also a compressed format, and it can be lossy or lossless. So it would be nice to have an option in the save canvas blocks to specify the compression level desired.

This is useful when you add something to an image and need to set it as the new background to keep adding things (circles, lines). As it is now, every time the canvas is saved, it get more and more blurry to the point it’s not even practical to use.

If needed, I can prepare an aia to demonstrate, but all you need to do to see this is to set a picture as a canvas background, save it as png and set the png saved as the background. Repeat this 3 or 4 times and the problem becomes visible.

Also, it would be nice to specify if a canvas should render the image with anti-alias or not. If I load a tiny image into a large canvas, it softens the hard edges and that’s a good thing sometimes, but sometimes you just need the image with its hard pixel edges.


@Italo Are you using SaveAs to save the Canvas? What format do you save it as; png or jpg. Try using jpg for saving canvas


Yes, I’m using the save canvas block. I’m using png.

Due to the fact that jpg is a lossy compression format, it is even worse. And somehow I would expect that from a jpg file. But png is not supposed to degrade so much with each save. That’s why I’m using png. Besides png allows to save alpha channel (transparent pixels) and jpg doesn’t.

Now if the compression rate was an option in the save canvas block, I think this problem would be solved.

Or perhaps the “forced” smoothing that the canvas performs is the culprit for the degrading in subsequent saves. If the canvas could save the image “as is” on the canvas instead of smoothing it, may be that would help too.