python改变图片透明度_使用Python图像库和光晕效果调整透明度

在SO上有几个类似的问题,但没有一个真的有帮助.基本上我正在尝试调整一个简单的png图像,如下所示:

我最初实现了一个在php中使用这些图像的实用程序,并且调整大小的实用程序工作得很好.我使用了PHP文档中imagecopyresampled页面上描述的方法.

老实说,我甚至无法在Photoshop中更好地调整大小,但结果在python中几乎是灾难性的.我一直得到光环效果,我相信这至少部分是透明像素的实际RGBA值.在这里,这张图片告诉它更好:

(第二次到最后一次调整大小只是我在另一个论坛上看到的建议,首先调整大小到最终大小的两倍,并且DID帮助至少一点,但还不够)

调整大小时,图像已处于RGBA模式.

正如您所看到的,PHP和Photoshop调整大小是无光晕的.老实说除了PHP调整大小之外的一切都做了太多工作,我喜欢php图像中的最小调色板(如果你看一下大版本,你可以看到PHP调整大小在颜色之间使用较少),但我可以忍受Photoshop的方式已经调整了大小,甚至Python的内部都调整了大小,但光环是不可接受的.

在我看来 – 如果我错了就纠正我 – PHP和Photoshop似乎知道在插值时不使用alpha通道中像素的颜色,但是python正在使用那个光边框,否则是透明的,在其调整大小.

不幸的是,我需要调整大量不同的图标,不同的配置文件,所以它们并不像这个圆形的那么简单,但这只是我在实验时使用的第一个.

它本身并不是一个代码问题,但如果你需要一些东西可以看,那么这就是要点:

>> import Image

>> img = Image.open('swordorig.png')

>> img

>> img.resize((36,36), Image.ANTIALIAS).save('swordresize.png')

最终的问题是:有没有办法告诉PIL不要在重新采样时使用alpha为0的像素的颜色?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值