1

我正在编写一个脚本,该脚本获取图像并创建多个不同大小的变体(基本上像 imgur)。现在,我在 node.js 中使用https://github.com/aheckmann/gm对每个变体执行以下操作:

function(file, size, newfile, callback) {
  gm(file)
    .noProfile()
    .quality(80)
    .resize(size, size)
    .write(newfile, callback)
}
  1. 我假设每次调整图像大小时,graphicsmagick 都会从磁盘读取图像并将其加载到内存中。它是否正确?如果是这样,我怎样才能只从磁盘读取一次?
  2. 我可以从流中读取文件,然后在单个流上运行多个调整大小吗?我对流的了解不够,当我最后一次尝试这样做时,我感到沮丧,放弃并删除了那部分代码。
4

1 回答 1

2

这里有两个命令行示例如何使用 ImageMagick 进行操作。

他们使用mpr:ImageMagick 支持的语法,该语法告诉 ImageMagick 将输入图像临时保存到一个命名的内存程序寄存器中,稍后(在处理时)从中读取数据的速度比从硬盘读取数据的速度要快得多。

您应该很容易将这些命令行转换为用语。

于 2012-10-05T11:00:21.327 回答