将2d列表另存为图像

时间:2019-06-05 20:34:54

标签: python image list

我有一个二维列表,每个元素都是一个整数,并且我想将其数据保存为图像。 请注意,我不想将其另存为像素,而只是另存为数字。

例如:

L =  1 2 3
     4 5 6
     7 8 9

然后,我想将其保存为包含这些数字的图片(而不是颜色等)。 我该如何实现?
预先感谢!

1 个答案:

答案 0 :(得分:1)

我不太确定这是否是您要的内容,但可以通过使用Pillow(一种Python图像库)来实现此目的的方法,该库为您提供了将文本写到图像的功能。因此,为了将号码列表存储在图像上,可以使用以下代码,前提是您已安装Pillow

from PIL import Image
from PIL import ImageFont
from PIL import ImageDraw 

L =  [[1, 2, 3],
     [4, 5, 6],
     [7, 8, 9]]

size = 300
img = Image.new("RGB", (size,size), 'white')
draw = ImageDraw.Draw(img)
font = ImageFont.truetype("arial.ttf", 48)
for i in range(0,size,size//3):
    for j in range(0,size,size//3):
        print(i//100,j//100)
        draw.text((i+size//9, j+size//9), str(L[i//100][j//100]), (0,0,0), font=font)
img.save('numbers.jpg')

结果图像将是:

enter image description here