Repository navigation
0.3.0
Behavior change
ImageModule.show_image_fileandshow_image_pixeldatasend a PNG by default now (png=True). A raw RGB upload leaves a stray dark red pixel at the second LED of the first row of a 64x64 display, a PNG does not, and it is lossless for RGB and smaller.png=Falsesends raw RGB like the official app. Tested on a 64x64 only.
New
colorsfor GIFs and images (2 to 256): fewer colors make a GIF smaller, which means a faster upload.colors="auto"for GIFs: tries palettes of 256 to 16 colors, each per frame and shared, scores them against the 256 color version (color difference plus flicker,idotmatrix.util.quality) and takes the smallest file that still looks fine.max_color_errorsets the limit (default 5),shared_palette=Trueuses one palette for all frames.max_size_kbfor GIFs: reduces colors, then frames, until the GIF fits.overlay=TextOverlay(...)draws a text on every frame of a GIF or on an image (a label, the time, a title). Positions, colors, a background and the font size can be set, andMaterialsModule.storetakes a function to label each file.MaterialsModule.storeremembers what is in each slot and only transfers what is new, so storing the same list again takes a second instead of a minute.keep_order,clear_unusedandverifycontrol the details.
Fixes
- Slots are no longer deleted before they are filled, so the display does not go dark in between.
ResizeMode.FITno longer crashes on tiny canvases with a wide or tall picture,FILLis no longer a pixel short, andbackground_coloris respected for images.
The conversion is tested with a broad set of generated media (noise, flat colors, 200+ frames, tiny and huge sizes, transparency, odd durations).