3

我正在使用 GraphicsMagick 编辑用户上传的图像。每个图像都被调整为多种尺寸。首先,我将图像调整为大尺寸并将其保存为 GraphicsMagick 临时 MPC 格式,以便在进一步操作期间快速访问:

gm convert uploaded.jpg -resize "640x800>" +profile "*" -unsharp 0x0.75+0.75+0.008 uniqueid.mpc

然后我将 uniqueid.mpc 转换为几种大小并通过 aws-cli 将它们发送到 S3:

gm convert uniqueid.mpc -quality 90 640x.jpg
gm convert -size 400x400 uniqueid.mpc -resize "200x200^" -gravity Center -crop "200x200+0+0" -quality 90 -unsharp 1.5x1+0.7+0.02 200x.jpg

等等

如何跳过创建临时文件 640x.jpg、200x.jpg 等并将结果直接保存到 S3?命令行是首选,PHP 和 PHP 扩展 GMagick 可以作为替代方案。

4

1 回答 1

1

通过用 a 替换目标图像名称, -您可以将文件输出到管道或将文件捕获到变量中。

gm convert uniqueid.mpc -quality 90 - | aws-storage-command
jpg640=`gm convert uniqueid.mpc -quality 90 -`

我需要知道您的确切 AWS 命令​​,以告诉您如何将其传输回将文件移动到 S3 的命令,因为并非所有命令都有助于直接文​​件管道。

于 2013-06-12T17:46:30.930 回答