How can I disable interpolation on a GPU canvas FMX TImage or set interpolation to "nearest neighbor"


I am trying to create a pinch-to-zoom TImage function and want to disable interpolation when resizing a firemonkey TImage control (and it needs to work across multiple devices).

Setting the TImage’s “DisableInterpolation” to “True” doesn’t work on Windows if “GlobalUseGPUCanvas” is set to “True” or on Android (which I believe always uses a GPU canvas).

This is easily reproducible with Embarcadero’s Image Zoom sample by setting “GlobalUseGPUCanvas” to “True” in the project’s DPR file and checking “DisableInterpolation” on the form’s TImage:

Is there a way to truly disable interpolation with a GPU canvas or somehow set the GPU resampler to use nearest neighbor instead of the default algorithm (bicubic? bilinear?)?

Comments are closed.