Skip to content

Commit

Permalink
code clean up
Browse files Browse the repository at this point in the history
  • Loading branch information
lostways committed Dec 28, 2023
1 parent b997a8d commit 67a42d2
Show file tree
Hide file tree
Showing 4 changed files with 98 additions and 82 deletions.
42 changes: 31 additions & 11 deletions examples/debug.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
from pil2ansi import convert_img, Palettes, Palette
from PIL import Image

palettes: list = [Palettes.color, Palettes.grayscale, Palettes.grayscale_inverted, Palettes.ascii]
palettes: list = [
Palettes.color,
Palettes.grayscale,
Palettes.grayscale_inverted,
Palettes.ascii,
]
reset: str = "\033[0m"


def print_palette(palette: Palette):
print(f"\nPalette: {palette.__class__.__name__}")
if palette.pil_color == "LA":
Expand All @@ -13,19 +19,27 @@ def print_palette(palette: Palette):
print("\n", end="")
else:
for i in range(256):
print(f"{reset}{palette.pixel_to_color((i, 0, 0, 255), (i, 0, 0, 255))} {reset}", end="")
print(
f"{reset}{palette.pixel_to_color((i, 0, 0, 255), (i, 0, 0, 255))} {reset}",
end="",
)
if (i + 1) % (256 / 4) == 0:
print("\n", end="")
for i in range(256):
print(f"{reset}{palette.pixel_to_color((0, i, 0, 255), (0, i, 0, 255))} {reset}", end="")
print(
f"{reset}{palette.pixel_to_color((0, i, 0, 255), (0, i, 0, 255))} {reset}",
end="",
)
if (i + 1) % (256 / 4) == 0:
print("\n", end="")
for i in range(256):
print(f"{reset}{palette.pixel_to_color((0, 0, i, 255), (0, 0, i, 255))} {reset}", end="")
print(
f"{reset}{palette.pixel_to_color((0, 0, i, 255), (0, 0, i, 255))} {reset}",
end="",
)
if (i + 1) % (256 / 4) == 0:
print("\n", end="")

for palette in palettes: print_palette(palette)

# 2x2
img_2x2: Image.Image = Image.new("RGBA", (2, 2), (255, 0, 0, 255))
Expand All @@ -50,19 +64,25 @@ def print_palette(palette: Palette):
img_5x7_alpha.putpixel((4, 0), (255, 0, 0, 0))
img_5x7_alpha.putpixel((4, 6), (255, 0, 0, 0))

for palette in palettes:
print_palette(palette)

print("\n2x2")
for palette in palettes: print(convert_img(img_2x2, palette))
for palette in palettes:
print(convert_img(img_2x2, palette))

print("\n4x4")
for palette in palettes: print(convert_img(img_4x4, palette))
for palette in palettes:
print(convert_img(img_4x4, palette))

print("\n5x7")
for palette in palettes: print(convert_img(img_5x7, palette))
for palette in palettes:
print(convert_img(img_5x7, palette))

print("\n4x4 with transparent corners")
for palette in palettes: print(convert_img(img_4x4_alpha, palette))
for palette in palettes:
print(convert_img(img_4x4_alpha, palette))

print("\n5x7 with transparent corners")
for palette in palettes: print(convert_img(img_5x7_alpha, palette))

for palette in palettes:
print(convert_img(img_5x7_alpha, palette))
8 changes: 6 additions & 2 deletions src/pil2ansi.py
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,9 @@ def convert_img(
pixel_bg: PIXEL

pixel_fg = pixels[i * img.width + j]
pixel_bg = pixels[(i + 1) * img.width + j] if i != img.height - 1 else pixel_fg
pixel_bg = (
pixels[(i + 1) * img.width + j] if i != img.height - 1 else pixel_fg
)

if alpha == False:
pixel_fg = tuple(pixel_fg[:-1] + (255,))
Expand All @@ -142,7 +144,9 @@ def convert_img(
elif i % 2 == 0:
# handle last row
if i == img.height - 1:
pixel_bg = tuple(pixel_bg[:-1] + (0,)) # make bg transparent on last row
pixel_bg = tuple(
pixel_bg[:-1] + (0,)
) # make bg transparent on last row

if pixel_fg[-1] == 0 and pixel_bg[-1] == 0:
ascii_str += f"{reset_char}{transparent_char}"
Expand Down
Loading

0 comments on commit 67a42d2

Please sign in to comment.