我试图将文件夹中的所有图像缩小到各自大小的90%。写到这:缩小PNG图像会增加图像大小
from PIL import Image
import sys, csv, os, traceback
path = "C:\Users\Dell\Desktop\Textures\\"
dirs = os.listdir(path)
scalingFactor = .9
def resize():
for item in dirs:
print 'item', path+item
if os.path.isfile(path+item):
im = Image.open(path+item)
f, e = os.path.splitext(path+item)
imResize = im.resize((int(im.size[0]*scalingFactor),int(im.size[1]*scalingFactor)), Image.ANTIALIAS)
fileName = f.split('\\')[-1]
imResize.save(path + "/Out/" + fileName + ' resized_' + str(scalingFactor) + ".png" , 'PNG')
然而,当我运行它,图像的大小实际上是增加而不是减少的(如我期望的那样)。
例如。原始图像885x1130 466KB
输出图像796x1017 1.44 MB!
边旋转边,就有了一个explanation about it here on Stackoverflow我有一个相当类似的非直观的体验与之前的PNG。但我无法相信自己这也许是同一个问题。
任何线索?还有什么我可以做的,以减少PNG的大小?如果需要的话,质量有点损失是可以的。
你缩放这些图片了,因为你想要的更小的像素大小?或者你是否试图减小文件的字节大小? –
请注意,使用抗锯齿缩放可以创建原始中不存在的中间色的_lot_,并且可以改变图像的可压缩性。 PNG具有许多压缩选项,但很少有程序允许您访问允许“调整”压缩的参数,并选择最佳参数是一项复杂的任务。有几个PNG重新压缩程序漂浮在附近;我使用&推荐[OptiPNG](http://optipng.sourceforge.net)。 –
@ PM2Ring我想要更小的文件大小。是的,我使用OptiPNG作为后期处理的一部分,但并没有将尺寸缩小到我想要的程度。所以我想缩小它,并期望减小文件大小。 –