Fixed endianness and renamed some functions

This commit is contained in:
Casey 2024-07-05 14:27:51 +03:00
parent aa959b1e71
commit 92c509edf0
Signed by: hkc
GPG Key ID: F0F6CFE11CDB0960
1 changed files with 11 additions and 12 deletions

View File

@ -48,12 +48,12 @@ class AsyncBotManager:
l, a = im.getpixel((x, y)) # type: ignore l, a = im.getpixel((x, y)) # type: ignore
index = x + ox + (y + oy) * 1000 index = x + ox + (y + oy) * 1000
if a: if a:
self.put_index(index, l > 0) self.put_bit(index, l > 0)
def put_pixel(self, x: int, y: int, val: bool): def put_pixel(self, x: int, y: int, val: bool):
self.put_index(x + y * 1000, val) self.put_bit(x + y * 1000, val)
def put_index(self, index: int, value: bool): def put_bit(self, index: int, value: bool):
if index not in self.avoid: if index not in self.avoid:
self.difference[index] = value self.difference[index] = value
@ -227,9 +227,9 @@ async def amain() -> None:
continue continue
start_ndx = (x + ox + (y + oy) * 577) * 3 start_ndx = (x + ox + (y + oy) * 577) * 3
mgr.put_index(start_ndx, r > 128) mgr.put_bit(start_ndx, r > 128)
mgr.put_index(start_ndx + 1, g > 128) mgr.put_bit(start_ndx + 1, g > 128)
mgr.put_index(start_ndx + 2, b > 128) mgr.put_bit(start_ndx + 2, b > 128)
elif elem["type"] == "rgb565": elif elem["type"] == "rgb565":
ox, oy = elem["x"], elem["y"] ox, oy = elem["x"], elem["y"]
with Image.open(elem["path"]).convert("RGBA") as im: with Image.open(elem["path"]).convert("RGBA") as im:
@ -241,16 +241,15 @@ async def amain() -> None:
offset: int = (x + ox + (y + oy) * 250) * 16 offset: int = (x + ox + (y + oy) * 250) * 16
# pack rgb888 to rgb565
rgb: int = (r >> 3) << 11 rgb: int = (r >> 3) << 11
rgb |= (g >> 2) << 5 rgb |= (g >> 2) << 5
rgb |= (b >> 3) rgb |= (b >> 3)
color: int = (rgb & 0xFF) << 8 # write to a bitstream
color |= (rgb >> 8)
for i in range(16): for i in range(16):
mgr.put_index( mgr.put_bit(
offset + i, ((color << i) & 0x8000) > 0 offset + i, ((rgb << i) & 0x8000) > 0
) )
elif elem["type"] == "rect": elif elem["type"] == "rect":
for y in range(elem["y"], elem["y"] + elem["h"]): for y in range(elem["y"], elem["y"] + elem["h"]):
@ -268,7 +267,7 @@ async def amain() -> None:
for i in range(8): for i in range(8):
if written > length: if written > length:
break break
mgr.put_index(offset, bool((byte >> (7 - i)) & 1)) mgr.put_bit(offset, bool((byte >> (7 - i)) & 1))
written += 1 written += 1
offset += 1 offset += 1