mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 07:03:55 +00:00 
			
		
		
		
	Fix frame scaling for animated gifs (#2750)
This commit is contained in:
		| @@ -60,6 +60,10 @@ async def to_code(config): | |||||||
|             image.seek(frameIndex) |             image.seek(frameIndex) | ||||||
|             frame = image.convert("L", dither=Image.NONE) |             frame = image.convert("L", dither=Image.NONE) | ||||||
|             pixels = list(frame.getdata()) |             pixels = list(frame.getdata()) | ||||||
|  |             if len(pixels) != height * width: | ||||||
|  |                 raise core.EsphomeError( | ||||||
|  |                     f"Unexpected number of pixels in frame {frameIndex}: {len(pixels)} != {height*width}" | ||||||
|  |                 ) | ||||||
|             for pix in pixels: |             for pix in pixels: | ||||||
|                 data[pos] = pix |                 data[pos] = pix | ||||||
|                 pos += 1 |                 pos += 1 | ||||||
| @@ -69,8 +73,14 @@ async def to_code(config): | |||||||
|         pos = 0 |         pos = 0 | ||||||
|         for frameIndex in range(frames): |         for frameIndex in range(frames): | ||||||
|             image.seek(frameIndex) |             image.seek(frameIndex) | ||||||
|  |             if CONF_RESIZE in config: | ||||||
|  |                 image.thumbnail(config[CONF_RESIZE]) | ||||||
|             frame = image.convert("RGB") |             frame = image.convert("RGB") | ||||||
|             pixels = list(frame.getdata()) |             pixels = list(frame.getdata()) | ||||||
|  |             if len(pixels) != height * width: | ||||||
|  |                 raise core.EsphomeError( | ||||||
|  |                     f"Unexpected number of pixels in frame {frameIndex}: {len(pixels)} != {height*width}" | ||||||
|  |                 ) | ||||||
|             for pix in pixels: |             for pix in pixels: | ||||||
|                 data[pos] = pix[0] |                 data[pos] = pix[0] | ||||||
|                 pos += 1 |                 pos += 1 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user