setImageResamplingQuality not working on OSX/CoreGraphics?


#1

I can’t seem to change image resampling quality on OSX.

First off, CoreGraphicsContext::setInterpolationQuality doesn’t even use all of the available enum values.

Second, toggling it has no effect on resized drawImage(). This can be seen in the Graphics::2D Rendering::Images demo (animate size to see resampling better). The resampling quality seems to be really low regardless of setting.

I would appreciate if someone from the Juce team could look into this.


#2

Hi Svante,

In the latest JUCE release CoreGraphicsContext::setInterpolationQuality uses all the enum values of Graphics::ResamplingQuality, and these are correctly passed on to CoreGraphics to handle. For that particular example I couldn’t see any difference between the medium and high interpolation qualities, but exactly how they are rendered is determined by your operating system in this case.

If you change

Graphics::mediumResamplingQuality

to

Graphics::lowResamplingQuality

in GraphicsDemoBase then the difference will be more obvious.

I wouldn’t say that the resampling quality is low - scale anything large enough and you’re going to see pixels!