cancel
Showing results for 
Search instead for 
Did you mean: 

Does Bitmap::cache() handle compressed images automatically?

ALAMI_Othmane
Associate III

Hey,

I have my images stored compressed (ARGB8888) on NAND flash accessed via FileX. Not memory mapped, so I need to cache everything before starting the GUI.

I noticed this in the Bitmap API docs:

Bitmap::decompress — "This method is called by Bitmap::cache when required."

So does that mean I just implement BlockCopy with FileX, call Bitmap::cache(), and it handles the decompression automatically? Does it allocate for the uncompressed size and deal with the temp buffers internally?

Would save me a lot of headache if that's the case;

Thanks!

4 REPLIES 4
Andrew Neil
Super User

Is this a TouchGFX question?

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.
Yes, forget to mention it

OK - moved it to the TouchGFX forum & added the label.

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.
PeterVang
ST Employee

Hey,

You are right that TouchGFX has built in functionality to decompress and copy your bitmaps into RAM, as long as you implement the blockCopy for your unmapped storage. But the Bitmap::cache function is only for uncompressed bitmaps. For the compressed images you instead need to use the Bitmap::decompress function as described here:

https://support.touchgfx.com/docs/development/ui-development/touchgfx-engine-features/image-compression#decompressing-images-to-the-bitmap-cache

 

This quote is therefore not true:

Bitmap::decompress — "This method is called by Bitmap::cache when required."

Can you share a link to where you have read this?

 

 

Best regards,

Peter

Announcement

We’re moving the ST Community to a new platform to give you a better and more reliable community experience.