Reputation: 183
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")
Does any one have any idea why this happens? i need them to be exactly the same.
Upvotes: 1
Views: 8014
Reputation: 1410
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)
Upvotes: 1
Reputation: 43495
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.
Upvotes: 2