微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Python 中将 .svg 转换为非常大的 .bmp

如何解决在 Python 中将 .svg 转换为非常大的 .bmp

我们的实验室中有一台激光刻录机,可以接收黑白 .bmp 图像,并使用这些图像来确定飞机上的哪些点将被激光照亮。每个像素都是一个固定的面积单位,为了使总写入达到我们需要的大小,我们需要一个大约 50,000x50,000 像素的 .bmp。

我们需要从 .svg 文件生成那些 .bmp 文件我有 python 代码可以为相对较小的图像做到这一点

from svglib.svglib import svg2rlg
from reportlab.graphics import renderPM

drawing = svg2rlg(outfile + '.svg')
renderPM.drawToFile(drawing,outfile + '.bmp',fmt='BMP')

但是当尝试创建我们需要的大图像之一时,Python 会耗尽内存并在 32GB 内存的计算机上崩溃。是否有任何库旨在为此类任务提供极高的内存效率?或者当前的库是否有重要的优化可用?

解决方法

解决方案是 ImageMagick,它将超大图像的部分缓存到磁盘,以防止内存不足。存在命令提示符工具和该工具的 Python 包装器。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。