枕头图像调整大小会破坏PNG文件中的RGB颜色?

Pillow image resize breaking RGB colors in PNG file?

提问人:loonatic 提问时间:11/12/2023 最后编辑:loonatic 更新时间:11/12/2023 访问量:44

问:

当我使用 Pillow 库中的 im.resize 时,它会在直 alpha 颜色所在的位置导致不必要的伪影。它甚至添加了与图像完全无关的颜色,例如红色、蓝色、青色、洋红色等像素。

使用 im.resize 之前与之后

澄清一下:图像的顶部是透明的。上面的两张图片是在禁用 Alpha 通道的情况下进行预览时的图片。

这是模拟此问题的代码片段;原始文件(“trees_bg.png”)为 256x219,将重新缩放为 256x256 并重新保存。

from PIL import Image
filename = "trees_bg.png"
im = Image.open(filename)
width, height = im.size
new_dimX = 256
new_dimY = 256
im.resize((new_dimX, new_dimY)).save(filename)

这是相关原始图片的链接

图像 python-imaging-library png 图像大小调整

评论

0赞 tetris programming 11/12/2023
无法重现此行为。您是否多次重新缩放它?您使用哪个 PIL 版本?之前图片中的绿色背景从何而来?
0赞 loonatic 11/12/2023
@tetrisprogramming 否,图像未多次重新缩放。Pillow 10.1.0、9.3.0 和 8.3.1 仍然存在此问题
0赞 tetris programming 11/12/2023
之前图片中的绿色背景从何而来?
0赞 loonatic 11/12/2023
@tetrisprogramming我不确定它来自哪里,尽管我认为它无关紧要,因为问题仍然发生在不同的图像上。我在Photoshop中的透明BG上绘制了一个任意blob,将其导出为PNG,然后运行给定的脚本。删除 alpha 通道时,问题仍然存在: i.imgur.com/gLpbis1.png 下面是 blob 的未转换版本: i.imgur.com/Sb37wk1.png
0赞 Community 11/12/2023
请编辑问题,将其限制在特定问题上,并具有足够的细节以确定适当的答案。

答: 暂无答案