Python图片转换bug|私教学员答疑

发布于:2024-07-20 ⋅ 阅读:(117) ⋅ 点赞:(0)

你好,我是悦创。

原本代码:

# install in terminal before use it
# pip install pillow
from PIL import Image

# Load the original image
original_image = Image.open("hier/photo.png")

# Define the sizes and filenames
sizes_and_filenames = [
    (50, 50, "StoreLogo.png"),
    (32, 32, "32x32.png"),
    (128, 128, "128x128.png"),
    (256, 256, "icon.ico"),
    (512, 512, "icon.png"),
    (30, 30, "Square30x30Logo.png"),
    (44, 44, "Square44x44Logo.png"),
    (71, 71, "Square71x71Logo.png"),
    (89, 89, "Square89x89Logo.png"),
    (107, 107, "Square107x107Logo.png"),
    (142, 142, "Square142x142Logo.png"),
    (150, 150, "Square150x150Logo.png"),
    (284, 284, "Square284x284Logo.png"),
    (310, 310, "Square310x310Logo.png")
]

# Resize and save images
for size, size_name in sizes_and_filenames:
    resized_image = original_image.resize((size, size), Image.ANTIALIAS)
    resized_image.save(size_name)

# Special handling for icon.icns and 128x128@2x.png
original_image.resize((512, 512), Image.ANTIALIAS).save("icon.icns")
original_image.resize((256, 256), Image.ANTIALIAS).save("128x128@2x.png")

print("Images have been resized and saved.")

修改后代码:

from PIL import Image

# Load the original image
original_image = Image.open("hier/photo.png")

# Define the sizes and filenames
sizes_and_filenames = [
    (50, 50, "StoreLogo.png"),
    (32, 32, "32x32.png"),
    (128, 128, "128x128.png"),
    (256, 256, "icon.ico"),
    (512, 512, "icon.png"),
    (30, 30, "Square30x30Logo.png"),
    (44, 44, "Square44x44Logo.png"),
    (71, 71, "Square71x71Logo.png"),
    (89, 89, "Square89x89Logo.png"),
    (107, 107, "Square107x107Logo.png"),
    (142, 142, "Square142x142Logo.png"),
    (150, 150, "Square150x150Logo.png"),
    (284, 284, "Square284x284Logo.png"),
    (310, 310, "Square310x310Logo.png")
]

# Resize and save images
for width, height, filename in sizes_and_filenames:
    resized_image = original_image.resize((width, height), Image.Resampling.LANCZOS)
    resized_image.save(filename)

# Special handling for icon.icns and 128x128@2x.png
original_image.resize((512, 512), Image.Resampling.LANCZOS).save("icon.icns")
original_image.resize((256, 256), Image.Resampling.LANCZOS).save("128x128@2x.png")

print("Images have been resized and saved.")

网站公告

今日签到

点亮在社区的每一天
去签到