0

我一直在 python 中使用 PIL 中的 Image 模块,我正在尝试使用十六进制代码数组生成图像。我将图像的宽度设置为颜色数,并且我想创建一个图像,其中每个像素都是数组中列出的不同颜色。唯一的问题是,我找不到任何这样的例子。看起来 Image 模块非常有限,我不能使用 Choir 功能,因为没有设置所需的颜色数量。有什么解决方法吗?

4

1 回答 1

1

您可以Image.frombytes()按照@Ture Pålsson 的建议使用 PIL 函数。我不确切知道您的“十六进制代码数组”采用什么格式,但以下说明了基本思想。使用的数据格式是 3 字节/像素 RGB。

from PIL import Image

data = bytes.fromhex('FF0000 00FF00 0000FF 00FF00 0000FF FF0000 0000FF FF0000 00FF00')
width = len(data) // 3
img = Image.frombuffer("RGB", (width, 1), data, "raw", "RGB", 0, 1)
img.show()

结果截图(放大):

截屏

于 2022-02-17T11:19:13.430 回答