我正在使用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作为替代。
最佳答案
通过用-
替换目标图像名,可以将文件输出到管道或将文件捕获到变量中。
gm convert uniqueid.mpc -quality 90 - | aws-storage-command
jpg640=`gm convert uniqueid.mpc -quality 90 -`
我需要知道确切的aws命令来告诉您如何将此消息传递回将文件移动到s3的命令,因为并非所有命令都有助于直接传递文件管道。
关于php - 使用GraphicsMagick编辑图像,然后使用控制台或PHP将其直接保存到S3,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16865267/