首页 > 解决方案 > 通过 Pillow 创建多层 Tiff 图像?

问题描述

我一直在尝试查看是否可以加快我们正在绘制图像的管道的一部分(以前使用 Photoshop,由于 GUI 更新非常慢),我正在寻找是否可以使用 Pillow 来创建tiff 地图集。

现在我知道我可以在 Pillow 中用图像制作地图集(已经可以使用了),但我无法终生将图像作为图层,这样如果有人需要编辑(例如移动图像) ) 以后他们可以很容易地做到这一点。

from PIL import Image
import os

cwd = os.getcwd()
atlas = Image.new('RGBA', (2048, 2048),(0,0,0,0))
tgas = [x for x in os.listdir(cwd) if x.lower().endswith(".tga")]
count = 0
imgs = []

for img in tgas:
    print(img)
    im = Image.open(img)
    temp = Image.new('RGBA', (2048, 2048),(0,0,0,0))
    if count == 0:
        atlas.paste(im,(0, 0))
    elif count == 1:
        atlas.paste(im, (1024,0))
    elif count == 2:
        atlas.paste(im, (0, 1024))
    elif count == 3:
        atlas.paste(im, (1024,1024))
    count +=1
    imgs.append(atlas)
    im.close()

    atlas.save("atlasTest.tif", tags="37724", compression="None", save_all=True, append_images=imgs)

我发现了另一篇关于阅读 tiff 的 SO 帖子,以查看它是否有图层(因此 tags="37724" )但它似乎不适用于保存。

这种方法可以节省大量时间,但如果我无法获得图层,我认为我无法使用它。我最初打算让它将地图集的图像保存到 PSD,但似乎也无法在其中制作图层......也可以做“多页”,但似乎没有要么是我正在寻找的东西,它确实必须是层,只是因为以后更容易处理。任何帮助都会很棒(另外,请不要判断我的硬编码图像位置,作为测试很快完成并且不想为它做数学:P)

标签: pythonpython-imaging-librarytiff

解决方案


推荐阅读