57 lines
1.9 KiB
Python
57 lines
1.9 KiB
Python
import os
|
|
import sys
|
|
from PIL import Image
|
|
|
|
def make_transparent_smooth(img_path, output_path, size):
|
|
if not os.path.exists(img_path):
|
|
print(f"Error: {img_path} does not exist.")
|
|
return False
|
|
|
|
img = Image.open(img_path).convert("RGBA")
|
|
img = img.resize(size, Image.Resampling.LANCZOS)
|
|
|
|
datas = img.getdata()
|
|
new_data = []
|
|
|
|
for item in datas:
|
|
r, g, b, a = item
|
|
closeness = min(r, g, b)
|
|
if closeness >= 240:
|
|
if closeness >= 253:
|
|
alpha = 0
|
|
else:
|
|
alpha = int(a * (253 - closeness) / (253 - 240))
|
|
new_data.append((255, 255, 255, alpha))
|
|
else:
|
|
new_data.append(item)
|
|
|
|
img.putdata(new_data)
|
|
img.save(output_path, "PNG")
|
|
print(f"Successfully saved processed image to {output_path}")
|
|
return True
|
|
|
|
if __name__ == "__main__":
|
|
artifact_dir = "scratch"
|
|
|
|
|
|
jobs = [
|
|
("car_marker_normal_1781540915043.png", "siro_rider/assets/images/car.png", (80, 90)),
|
|
("car_marker_normal_1781540915043.png", "siro_driver/assets/images/car.png", (80, 90)),
|
|
("car_marker_lady_1781540926836.png", "siro_rider/assets/images/lady1.png", (80, 90)),
|
|
("car_marker_lady_1781540926836.png", "siro_driver/assets/images/lady1.png", (80, 90)),
|
|
("category_fixed_price_1781540942631.png", "siro_rider/assets/images/carspeed.png", (500, 500)),
|
|
("category_comfort_1781540956914.png", "siro_rider/assets/images/blob.png", (500, 500)),
|
|
("category_electric_1781540970352.png", "siro_rider/assets/images/electric.png", (500, 500)),
|
|
("category_lady_1781540984745.png", "siro_rider/assets/images/lady.png", (500, 500)),
|
|
]
|
|
|
|
|
|
for src, dst, size in jobs:
|
|
make_transparent_smooth(
|
|
os.path.join(artifact_dir, src),
|
|
dst,
|
|
size
|
|
)
|
|
|
|
|