-
Notifications
You must be signed in to change notification settings - Fork 21
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
Fix #74 #84
Fix #74 #84
Conversation
This adds support for filters, which lets us decode grayscale and RGB images. I only support 8bit depth for now (and 24bit for RGB) but with better color conversion code, other depths could be supported.
Add a workaround for bug adafruit/circuitpython#6675 and use bitmap[x, y] instead of putting data into the bitmap directly through the memoryview for bit depths < 8.
This should fix #74 |
For best results, merge #83 first. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me.
I think the github "files changed" page is having trouble refreshing to the new state of main after having merged #83. Comparing to current main
locally shows that the changes are only within the section checking for bit depths less than 8:
I tested this successfully by using this 2bit color png:
With current released version this image gets messed up with a zig zag pattern due to the bits being swapped around:
With this branch from the PR the same image is rendered correctly:
Thanks for the fix @deshipu!
Updating https://github.com/adafruit/Adafruit_CircuitPython_ADS1x15 to 2.3.0 from 2.2.26: > Merge pull request adafruit/Adafruit_CircuitPython_ADS1x15#98 from RoaCode/comparator Updating https://github.com/adafruit/Adafruit_CircuitPython_DisplayIO_SSD1306 to 2.0.3 from 2.0.2: > Merge pull request adafruit/Adafruit_CircuitPython_DisplayIO_SSD1306#46 from EAGrahamJr/revert-sleep Updating https://github.com/adafruit/Adafruit_CircuitPython_FT5336 to 1.1.0 from 1.0.2: > Merge pull request adafruit/Adafruit_CircuitPython_FT5336#6 from adafruit/axis_swap Updating https://github.com/adafruit/Adafruit_CircuitPython_IS31FL3731 to 3.4.2 from 3.4.1: > Merge pull request adafruit/Adafruit_CircuitPython_IS31FL3731#56 from FoamyGuy/use_ruff Updating https://github.com/adafruit/Adafruit_CircuitPython_PyPortal to 6.3.5 from 6.3.4: > Merge pull request adafruit/Adafruit_CircuitPython_PyPortal#136 from tannewt/fix_gitattributes Updating https://github.com/adafruit/Adafruit_CircuitPython_RGB_Display to 3.12.5 from 3.12.4: > Merge pull request adafruit/Adafruit_CircuitPython_RGB_Display#126 from simonldwg/ssd1331-remove-prints Updating https://github.com/adafruit/Adafruit_CircuitPython_SCD4X to 1.4.3 from 1.4.2: > Merge pull request adafruit/Adafruit_CircuitPython_SCD4X#20 from kolcz/main Updating https://github.com/adafruit/Adafruit_CircuitPython_ImageLoad to 1.23.0 from 1.21.0: > Merge pull request adafruit/Adafruit_CircuitPython_ImageLoad#84 from deshipu/bug-74 > Merge pull request adafruit/Adafruit_CircuitPython_ImageLoad#83 from deshipu/png-filters > Merge pull request adafruit/Adafruit_CircuitPython_ImageLoad#82 from ch4nsuk3/png-transparency Updating https://github.com/adafruit/Adafruit_CircuitPython_Logging to 5.5.0 from 5.4.0: > Merge pull request adafruit/Adafruit_CircuitPython_Logging#61 from FoamyGuy/formatters > Merge pull request adafruit/Adafruit_CircuitPython_Logging#62 from FoamyGuy/remove_extra_newline Updating https://github.com/adafruit/Adafruit_CircuitPython_MIDI to 1.4.19 from 1.4.18: > Merge pull request adafruit/Adafruit_CircuitPython_MIDI#52 from jordanhemingway-revvity/type_annotations Updating https://github.com/adafruit/Adafruit_CircuitPython_Ticks to 1.1.0 from 1.0.13: > Merge pull request adafruit/Adafruit_CircuitPython_Ticks#11 from adafruit/ticks-exception-like-micropython Updating https://github.com/adafruit/Adafruit_CircuitPython_Bundle/circuitpython_library_list.md to NA from NA: > Added the following libraries: Adafruit_CircuitPython_RFM
Add a workaround for adafruit/circuitpython#6675