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 )