Image Color Format and Symbols

What do you want to achieve?

I would like to select the color format for Image and Imgbutton. Currently SLS uses True Color with Alpha. which requires a lot of flash memory for storage. I see no way to change this. Also, for lower priority, it would be nice to support BMP format images.

Secondly, is SLS going to support LVGL’s built in symbols, such as LV_SYMBOL_PLAY?

Do you see alternative options and workaround to achieve it?

The current work around seems to using LVGL’s Image Converter and modifying SLS C files. This would be impracticable when using many image assets.

Mention some use cases

I am creating a replacement for an off the shelf touchscreen. This product uses over 400 assets (images) for the entire UI and fits in 4MB. I put just two of these 480x272 assets in SLS and the C array size of each ends up being 2.4MB… I plan to reduce the number of assets following LVGL UI, but I still need a number of my original images.

Yes, it’s on the roadmap. It should be set on the image asset itself and not on the image widget.

It’d be possible to enable the use of BMP images in SquareLine. We will try it out.

We are thinking about something like resolving Play \PLAY to "Play" LV_SYMBOL_PLAY. It seems like a simple improvement.

Would not make more sense to make widget “Symbols” and have those which are built-in the LVGL and user could select some from this list in “Inspector” tab?

This way the user could use images too. I think the advantage of symbols is that you can use them in one label with some text. E.g. "▶ Play".

2 Likes

Do you have an ETA when this feature will be implemented?

Right now we are working on higher priority features.

Probably it will still take a few months to get it implemented. :slightly_frowning_face:

I see in recent updates that you changed the color format from LV_IMG_CF_TRUE_COLOR_ALPHA to LV_IMG_CF_TRUE_COLOR.

Given your other priorities, could you make an interim solution where we could globally choose the color format?

This would fit nicely in the Project Settings for now. Thanks for adding the export of all image assets BTW.

Based on someone else’s comment, I figured out last night that you can copy the Glyph from fontawesome.com into the Text field of a label and it will work. The text field in your UI displays nothing but it is there. The keyboard backspace will delete it.

image

image

Might be nice if you could display something to represent it for now. Not a big deal as I am glad there is a workaround.

Now SLS slects the color format automatically. If there is at least one pixel with alpha < 255 it will use LV_IMG_CF_TRUE_COLOR_ALPHA else LV_IMG_CF_TRUE_COLOR. Doesn’t it work properly?

Ok, that makes sense. I just didn’t understand how it worked. Thanks

1 Like