SESSION SAVE: Jan 21 UI Fixes & Transparency Restoration. Updated Bible & Diaries.
This commit is contained in:
60
verify_transparency.py
Normal file
60
verify_transparency.py
Normal file
@@ -0,0 +1,60 @@
|
||||
|
||||
import os
|
||||
from PIL import Image
|
||||
import numpy as np
|
||||
|
||||
def verify_and_clean_hard(file_path):
|
||||
if not os.path.exists(file_path):
|
||||
print(f"File not found: {file_path}")
|
||||
return
|
||||
|
||||
try:
|
||||
img = Image.open(file_path).convert("RGBA")
|
||||
data = np.array(img)
|
||||
|
||||
# Check if we have alpha 0 pixels (transparency)
|
||||
transparent_pixels = np.sum(data[:,:,3] == 0)
|
||||
total_pixels = data.shape[0] * data.shape[1]
|
||||
transparency_ratio = transparent_pixels / total_pixels
|
||||
|
||||
print(f"Checking {os.path.basename(file_path)}...")
|
||||
print(f" - Transparency: {transparency_ratio*100:.2f}%")
|
||||
|
||||
# If transparency is 0%, it means the previous script failed or didn't save correctly
|
||||
# Or the image was fully opaque to begin with.
|
||||
|
||||
if transparency_ratio < 0.01: # Less than 1% transparent is suspicious for a cutout
|
||||
print(" - WARNING: Almost no transparency detected. Retrying forced cleanup...")
|
||||
|
||||
# Force Alpha channel to 0 for specific colors again (Harder threshold)
|
||||
r, g, b, a = data[:,:,0], data[:,:,1], data[:,:,2], data[:,:,3]
|
||||
|
||||
# Target Checkerboard Grey/White AND solid Black (just in case)
|
||||
mask_bad = (r > 190) & (g > 190) & (b > 190)
|
||||
data[mask_bad, 3] = 0
|
||||
|
||||
# Target Green Screen again
|
||||
mask_green = (g > 200) & (r < 100) & (b < 100)
|
||||
data[mask_green, 3] = 0
|
||||
|
||||
new_img = Image.fromarray(data)
|
||||
new_img.save(file_path)
|
||||
print(" - Re-saved with forced transparency.")
|
||||
else:
|
||||
print(" - OK: Transparency detected.")
|
||||
|
||||
except Exception as e:
|
||||
print(f" - Error: {e}")
|
||||
|
||||
# Check the files we care about
|
||||
files = [
|
||||
"/Users/davidkotnik/repos/novafarma/assets/slike/NOVE_SLIKE/UI/okvir_zarjavel.png",
|
||||
"/Users/davidkotnik/repos/novafarma/assets/slike/NOVE_SLIKE/UI/merilec_zdravja.png",
|
||||
"/Users/davidkotnik/repos/novafarma/assets/slike/NOVE_SLIKE/UI/amnezija_maska.png",
|
||||
"/Users/davidkotnik/repos/novafarma/assets/slike/NOVE_SLIKE/UI/gumb_start.png",
|
||||
"/Users/davidkotnik/repos/novafarma/assets/slike/NOVE_SLIKE/Characters/starsa/Ghost/ghost_otac_cyan.png",
|
||||
"/Users/davidkotnik/repos/novafarma/assets/slike/NOVE_SLIKE/Characters/starsa/Ghost/MOJE_SLIKE_KONCNA_ostalo_parents_transparent_ghosts_clean.png"
|
||||
]
|
||||
|
||||
for f in files:
|
||||
verify_and_clean_hard(f)
|
||||
Reference in New Issue
Block a user