使用PIL压缩PNG图像

时间:2014-07-14 06:57:38

标签: png python-imaging-library

我遇到了增加图像不透明度的问题。我的原始图像是230 KB enter image description here

使用代码调整图像大小后:

Method 1:  imh=imgg.resize((1000,500),Image.ANTIALIAS) #filesize is 558 KB
Method 2:  imh=imgg.resize((1000,500),Image.ANTIALIAS)
           im2 = imh.convert('P', palette=Image.ADAPTIVE) #filesize is 170KB

现在我使用以下代码添加图像的透明度:

def reduce_opacity(im, opacity,pathname):
    assert opacity >= 0 and opacity <= 1
    if im.mode != 'RGBA':
        im = im.convert('RGBA')
    else:
        im = im.copy()
    alpha = im.split()[3]
    alpha = ImageEnhance.Brightness(alpha).enhance(opacity)
    im.putalpha(alpha)
    jj=<pathname>
    im.save(jj)
    return im

方法1:filesize为598 KB 方法2:filesize是383 KB

所以到目前为止我得到的最好的代码是

imh=imgg.resize((1000,500),Image.ANTIALIAS)
im2 = imh.convert('P', palette=Image.ADAPTIVE)
reduce_opacity(im2,0.5,name)

这给我的文件大小为383KB。要添加不透明度,必须在RGBA模式下打开,将文件大小从170 KB增加到383 KB。我对此不满意,我需要更多地减小尺寸,有任何方法我可以实现这一点,而不是妥协质量在很大程度上?

0 个答案:

没有答案