枕头将png转换为8bit位图

时间:2019-06-28 01:55:09

标签: python-3.x bitmap png python-imaging-library 8-bit

我试图将8位PNG转换为8位(256索引调色板)位图图像, 但是枕头一直在呕吐糟糕的结局。

这是我尝试过的。

image = Image.open(file)
image = image.convert('P')
pp = image.getpalette()
pp[0] = 255
pp[1] = 0
pp[2] = 255
image.putpalette(pp)

image = Image.open(file)
image = image.convert('P')
image.save(blabla.bmp)

这就是我期望看到的结果。 这是实际的位图(由Photoshop完成)。 Photoshop 这是枕头做的: Pillow 这是什么玩笑? 甚至被裁剪掉了 我应该怎么做才能正确转换它?

原始图片:

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以这样做:

from PIL import Image

# Open image
image = Image.open('feather.png')

# Quantize to 256 colours using fast octree method
result = image.quantize(colors=256, method=2)

enter image description here