我已经使用PIL将jpg / bmt转换并调整为png ..我可以轻松调整大小并转换为png,但文件大小是新图像太大
im=Image.open(p1.photo)
im_resize = im.resize((400, 400), Image.ANTIALIAS) # best down-sizing filter
im.save(str(merchant.id)+'_logo.'+'png')
我还需要做些什么来减少图像尺寸?
答案 0 :(得分:3)
PNG图像仍然必须保留图像上每个像素的所有数据,因此可以压缩它们的距离有限制。
进一步减少它的一种方法是,因为你的400x400用作各种各样的“缩略图”,就是使用索引模式:
im_indexed = im_resize.convert(“P”) im_resize.save(...)
* 等待* 刚看到示例代码中的错误: 您正在保存原始图像,而不是已调整大小的图像:
im=Image.open(p1.photo)
im_resize = im.resize((400, 400), Image.ANTIALIAS) # best down-sizing filter
im.save(str(merchant.id)+'_logo.'+'png')
当你应该做的时候:
im_resize.save(str(merchant.id)+'_logo.'+'png')
您只是保存原始图像,这就是它看起来如此之大的原因。可能你不需要使用索引模式。
另一件事:索引模式图像可能看起来很差 - 如果你需要它,更好的出路可能是将你的小尺寸保存为.jpg而不是.png - 这些可以随着你的需要变小,交易规模的质量。
答案 1 :(得分:0)
您可以使用其他工具,例如PNGOUT