8000 bug L, LA mode · blueguy42/SVD-Image-Compressor@05e0042 · GitHub
[go: up one dir, main page]

Skip to content

Commit 05e0042

Browse files
committed
bug L, LA mode
1 parent dadcb46 commit 05e0042

File tree

1 file changed

+21
-8
lines changed

1 file changed

+21
-8
lines changed

src/compressor.py

+21-8
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,25 @@ def compressor(original_realpath, compressed_realpath, file_name, cprate, prefix
1212

1313
# Cek mode gambar, jika P atau PA, ubah ke RGB atau RGBA
1414
im_mode = img_in.mode
15-
if im_mode == 'P':
16-
img_in.convert('RGB')
15+
print("image mode:", im_mode)
16+
if im_mode == 'L':
17+
img_in = img_in.convert('RGB')
18+
elif im_mode == 'LA':
19+
img_in = img_in.convert('RGBA')
20+
elif im_mode == 'P':
21+
img_in = img_in.convert('RGB')
1722
elif im_mode == 'PA':
18-
img_in.convert('RGBA')
19-
23+
img_in = img_in.convert('RGBA')
24+
print("image mode setelah diconvert:", img_in.mode)
2025
# Ubah gambar menjadi array
2126
img_array = np.array(img_in)
27+
print("ukuran matriks:", img_array.shape)
2228

2329
# Cek length dan width dari gambar untuk menghitung k
24-
length, width, _ = img_array.shape
30+
if img_array.ndim == 2:
31+
length, width = img_array.shape
32+
else:
33+
length, width, _ = img_array.shape
2534
max_rank = max(length, width)
2635
k = (cprate * max_rank) // 100
2736

@@ -33,10 +42,14 @@ def compressor(original_realpath, compressed_realpath, file_name, cprate, prefix
3342

3443
# Jika mode gambar awalnya adalah P atau PA, ubah kembali
3544
# menjadi P atau PA
36-
if im_mode == 'P':
37-
img_out.convert('P')
45+
if im_mode == 'L':
46+
img_in = img_in.convert('L')
47+
elif im_mode == 'LA':
48+
img_in = img_in.convert('LA')
49+
elif im_mode == 'P':
50+
img_in = img_out.convert('P')
3851
elif im_mode == 'PA':
39-
img_out.convert('PA')
52+
img_in = img_out.convert('PA')
4053

4154
# Save
4255
img_out.save(join(compressed_realpath, prefix + file_name))

0 commit comments

Comments
 (0)
0