【发布时间】:2017-01-22 04:14:54
【问题描述】:
[自最初的问题以来,许多事情都已解决。请参阅下面的 cmets。最终文件仍然只包含第一页,我没有看到任何警告或错误消息]
我看到最近版本的 Pillow 添加了对保存多页图像的支持,尤其是。带有 im_all.save('test.tiff', save_all=True) 的 TIFF。
现在我不清楚应该如何使用要放在一起的 .tiff 页面列表来创建多页 .tiff。我在文档中找不到示例或某些指示。我需要将每个图像的大小调整为最终文档的大小吗?我用我的 B&W .tiff 做了一个简单的测试,它的模式是“1”
list_im=[]
im_all=Image.new("1", (2500, 3500))
for i in list_file:
print i
im = Image.open(path_tmp+'/'+i)
print im.format, im.size, im.mode
list_im.append(im)
im.close()
im_all.save('test.tiff', save_all=True,append_images=list_im)
但我收到了错误消息
42526530005_632__0.tiff
TIFF (2445, 3472) 1
42526530005_632__1.tiff
TIFF (2448, 3474) 1
42526530005_632__2.tiff
TIFF (2451, 3471) 1
42526530005_632__3.tiff
TIFF (2454, 3471) 1
42526530005_632__4.tiff
TIFF (2459, 3471) 1
42526530005_632__5.tiff
TIFF (2467, 3472) 1
42526530005_632__6.tiff
TIFF (2452, 3471) 1
Traceback (most recent call last):
File "master_cost_claims_analyser.py", line 1401, in <module>
main()
File "master_cost_claims_analyser.py", line 1398, in main
args.all_steps)
File "master_cost_claims_analyser.py", line 565, in cost_claim_analyser_main
verbose)
File "H:/DATA/Projects and Documents/Projects/ClaimsCostAnalyzer/ClaimsCostAnalyzerCode/ClaimsExtraction/get_claims_functions.py", line 176, in get_claims
im_all.save('test.tiff', save_all=True,append_images=list_im)
File "C:\Program Files\Anaconda2\lib\site-packages\PIL\Image.py", line 1679, in save
save_handler = SAVE_ALL[format.upper()]
KeyError: 'TIFF'
我正在使用 蟒蛇2.7.12 枕头3.2.0
有人知道我们如何在多页 .tiff 文档中保存 .tiff 页面列表吗?我想我做错了什么。
谢谢
法比恩
【问题讨论】:
-
您的代码被截断。请补充缺失的部分。
-
我添加了缺少的“(”,但这是与我的问题相关的一小部分代码。我添加了完整的日志。谢谢
-
好吧,我没有意识到这个新功能只是在最新版本中引入的。使用 Pillow 3.4.2 有点帮助。我还添加了 im.load() 而不是 im.close() 以确保与文件的连接已关闭。 Windows im.close() 没有关闭连接,Windows 抱怨它被另一个应用程序使用。我现在唯一遇到的问题是我的最终文件只有 1 页,全黑,大小比所有页面加起来大 10 倍!没有线索。我的新文件不是以正确的方式创建的吗?
-
我在 python 3.4 上升级到
Pillow-3.4.2并且我遇到了同样的错误。好吧,你能edit你的问题吗,因为你的评论完全改变了它现在没有多大意义。我会看看问题是否准确。 -
您好 Jean-Francois,您遇到了哪个错误?对我来说,我没有收到错误,但我得到的是初始文件(im_all=Image.new("1", (2500, 3500)) 确实正在创建一个完整的后页)。如果我用作列表中的第一个文件并尝试使用 Image.save(..save_all=True,append_images=[..]) 添加另一个文件,我只会得到第一个文件。好的,我可以尝试改写一下这个问题,但我的目标是一样的。
标签: python-2.7 tiff pillow multipage