我試圖將文件夾中的所有圖像縮小到各自大小的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作爲後期處理的一部分,但並沒有將尺寸縮小到我想要的程度。所以我想縮小它,並期望減小文件大小。 –