ImageMagick 在不使用大量磁盘的情况下创建大的空白图像

ImageMagick create large blank image without using lots of disk

如何在不使用 GB 磁盘的情况下使用 ImageMagick 创建大的空白图像 space?

convert -debug All -size 100000x100000 canvas:white big_white.png

这至少需要 8 GB 的磁盘 space,因为它不会 运行 ImageMagick 策略磁盘设置为 8 GB。

如果您的目标是创建一个 100,000x100,000 的空白 PNG,我会向您推荐 libvips。与 ImageMagick.

相比,它非常节省资源

因此,要在终端中创建一个 100000x100000 像素的黑色 PNG:

vips black black.png 100000 100000 --bands 3

在我的机器上需要 300 秒并使用 227MB 内存。我测试了:

/usr/bin/time -l vips black black.png 100000 100000 --bands 3

如果你非要让那个白色,你可以把它倒过来:

vips invert black.png white.png

在我的机器上需要 360 秒并使用 406MB RAM。


相比之下,ImageMagick 需要 3,300 秒和 ?? GB 的 RAM 做同样的事情:

/usr/bin/time -l convert -size 100000x100000 canvas:white big_white.png

顺便说一句,你应该更具体地说明你是想要灰度还是彩色 PNG,托盘化图像是否可以接受,以及你想要 8-bits/sample 还是 16-bits/sample.