我遇到了增加图像不透明度的问题。我的原始图像是230 KB
使用代码调整图像大小后:
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。我对此不满意,我需要更多地减小尺寸,有任何方法我可以实现这一点,而不是妥协质量在很大程度上?