0

我正在编写一个使用 Montage 的 PHP 脚本,它是 ImageMagick 的扩展,可以创建图像的平铺数组。蒙太奇语法很简单:

montage image1.png image2.png image3.png -tile x1 -geometry 50x50 out.png

但是,我正在动态生成这些图像,我不想为了运行这个命令而不得不将它们写入磁盘。有什么方法可以在不将它们写入文件的情况下传递资源吗?

(这实际上不是一个蒙太奇问题,而是一个适用于许多不同情况的一般问题。)

任何帮助都会很棒!

4

2 回答 2

1

正如我评论的那样,您可以找到一些tmpfs文件系统(例如 with df | grep tmpfs/run并将您的文件放入其中。然后它们将存在于虚拟内存中(通常不需要任何磁盘 I/O)。当然,它们占用的空间正在消耗虚拟内存资源(因此是有限的)。

顺便说一句,在许多 Linux 系统上,写入小文件不会使用大量磁盘 I/O,因为它们位于文件系统缓存中。

当然,任何tmpfs文件系统在每次重新启动时都会丢失其所有内容,因此您不想将重要的不可恢复数据保留在其中。

于 2012-10-06T11:48:07.240 回答
0

ImageMagick 有适用于 C 和 PHP 的 API。PHP IMagick 似乎有蒙太奇钩子。

http://us3.php.net/manual/en/imagick.montageimage.php

关于 PHP IMagick 使用的一般信息:http: //us3.php.net/manual/en/imagick.examples-1.php

于 2012-10-06T06:45:20.833 回答