简体   繁体   中英

python PIL save image different size original

I´m working on a project with PIL in python. Simply by opening and saving an image makes the output image bigger (in Bytes) than the original, maintaining the same resolution, and i don´t know why...

from PIL import Image
img = Image.open("photo.png")
img.save("photo2.png", "PNG")

result from code above

Does any one have any idea why this happens? i need them to be exactly the same.

PNG is a compressed lossless format. The original image was probably saved with different compression settings.

Looking at the documentation you could try:

img.save("photo2.png", "PNG", optimize=True)

or

img.save("photo2.png", "PNG", compress_level=9)

By default, compress_level=6 is used.

Note that the optimize option includes setting the compression level to 9. But it also tries to find optimal encoder settings.

I guess you don't change the image, otherwise the size would be different. If you don't change the image why don't you just copy it?

shutil.copyfile(source, destination)  

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM