Pergunta

How to scale image (Bitmap/EncodedImage) efficiently in Blackberry (using OpenVG/OpenGL if hardware acceleration supported). Can something like VGField/GLField be used to achieve that?

I have already tried Bitmap.scaleInto(...), EncodedImage.scaleImage32(..) and some naive algorithms (raw data manipulation). Also I can't use ZoomScreen because it is not possible (?) to change the image of an ZoomScreen instance dynamically.

Need some idea about how the default image viewer application in BlackBerry device (e.g. Torch 9800) performs smooth pinch zooming.

Foi útil?

Solução

The usual technique is:

  • Step 1: scale the current thumbnail, so you get a rather blocky looking image, but has the advantage of working nearly instantaneously.

  • Step 2: kick off the higher resolution image decoder on a separate thread. When it is done, it sends the newly decoded image back to the UI thread to replace the approximate image that was used from step 1.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top