-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Png picture distortion #27
Comments
This is a known limitation of 16-bit color. To work around it, you need to dither the image. Support for this is likely to be added to LVGL (v8) soon, but you may also be able to do it by manually dithering the image in GIMP or another tool first. |
You can also use e.g. 10 px high dithered image and let LVGL tile it. |
|
I'm sorry I don't quite understand what you mean. I don't know what the number of pixels has to do with this problem. Can you explain. Thank you! |
Let's say you can have a dithered 10x200 image and you can set it for a 200x200 |
Hello, I use the lv_lib_png have a problem.
LVGL version: 7.0.
My PNG image is RGBA8888, and the LV_COLOR_DEPTH is set to 16 because the device only supports 16bit pix. when trying to display some image with gradient color, there is a picture distortion problem.
original image is:
in fact, displaying image is:
I find the problem is in function "convert_color_depth" in lv_png.c. In this function, RGB888 is converted to RGB 565, and low bits of R byte、G byte and B byte are dropped, which creates such a problem.
So,there is a better way to deal with it. Thank you for your replying!
The text was updated successfully, but these errors were encountered: