为啥在尝试使用 python PIL 将 WMF 转换为 PNG 时出现渲染错误?

Posted

技术标签:

【中文标题】为啥在尝试使用 python PIL 将 WMF 转换为 PNG 时出现渲染错误?【英文标题】:Why do I get rendering error when trying to converting WMF to PNG with python PIL?为什么在尝试使用 python PIL 将 WMF 转换为 PNG 时出现渲染错误? 【发布时间】:2020-10-08 04:44:51 【问题描述】:

我试图找到将 .WMF 图像文件转换为 .png 的解决方案,不幸的是,我无法在 pyhton 中(在 Windows 机器上)呈现 .wmf 文件。有人对此有解决方案吗?

我尝试过的最简单的示例之一如下(Python 3.6):

from PIL import Image  
Image.open("test.wmf").save("test.png")

但得到错误:

File "C:\Python36\lib\site-packages\PIL\WmfImagePlugin.py", line 58, in load
    Image.core.drawwmf(im.fp.read(), im.size, self.bbox),
OSError: cannot render metafile

提前谢谢你

【问题讨论】:

您确定 WMF 没有损坏吗?过去,我对 WMF 使用了相同的方法,从未遇到过问题。 我可以用例如打开图像绘制没有任何错误,所以我相信图像格式是正确的。但是它是在旧的 XP 机器上生成的,现在我想将这些图像转换为例如 【参考方案1】:

对于这个问题的“重复”,我深表歉意。我通过使用 ImageMagick 解决了我的问题(没有解决原始问题):

Solution from similar topic - https://***.com/a/46058963/13767408

【讨论】:

以上是关于为啥在尝试使用 python PIL 将 WMF 转换为 PNG 时出现渲染错误?的主要内容,如果未能解决你的问题,请参考以下文章

为啥用Python的openCV读取图片与PIL读取的图片像素值会不一样?

Python - 尝试使用 PIL 的 Image.fromarray 保存 numpy 数组时出现 TypeError

路径名太长,尝试在 Python 中使用 OpenCV 或 PIL.Image 保存图像时出错

为啥 PIL 经常与 Pytorch 一起使用?

为啥使用 PIL 和 pytorch 对图像进行双线性缩放会产生不同的结果?

为啥不能用 PIL 和 pytesseract 获取字符串?