正如标题所述,我正在使用 sphinx-doc,当构建输出为 latexpdf 时,我真的想有条件地呈现静态 PNG,而为 Web 构建时,我真的想有条件地呈现动画 GIF。
理想情况下,能够以某种方式在 rst 文件本身中执行此操作会很好......语义上是:
if builder == html: .. image: blah blah elif builder == latexpdf: .. image: blah blah
我可以通过PIL读取TIFF图像文件...
im = Image.open('FRONT200BW_1.TIF')
Run Code Online (Sandbox Code Playgroud)
我可以通过以下方式查看TIFF标头:
im.tag[270]
'returned description'
Run Code Online (Sandbox Code Playgroud)
这是我碰到砖墙的地方。我需要摆弄Artist(315),Date_Time(306),Document_Name(269),Image_Description(270)和Page_Name(285),然后将文件保存回磁盘,而无需对图像数据进行其他更改任何其他标头值/标签。
看来我应该能够执行以下操作:
im.tag[270] = 'my new description'
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时,有趣的事情发生了...
如果我对该文件执行save()并进行检查,则它没有新的描述标头,实际上会丢失所有标头值。
当我检查之前通过的价值
im.tag.tags
Run Code Online (Sandbox Code Playgroud)
我得到的是一个字典外观的东西,返回了一个字符串,用于描述文件中先前存在的描述。在如上所述更改它并查看im.tag.tags之后,它会将键270的值从字符串更改为元组。就像我说的,保存它似乎会擦除所有标头。
如何更改这些标头值?