【发布时间】:2019-04-26 11:21:48
【问题描述】:
我尝试使用 ImageMagick 通过 Cloud Functions 将图像上传从 My App 转换为 Firebase。
return spawn("convert", [
tempFilePath,
"(",
"-size",
dim + "x" + dim,
"xc:black",
"-fill",
"white",
"-draw",
"\"circle",
dim2 + "," + dim2,
dim2 + "," + dim1+"\"",
")",
"-alpha",
"off",
"-gravity",
"center",
"-compose",
"copy_opacity",
"-composite",
"-crop",
dim+"x"+dim+"+0+0",
"-thumbnail",
"300x300>",
tempFilePathPNG
]);
dim 和 dim2 是我的特定维度。但是当我使用该功能时,会出现错误,我不知道如何。您可以查看下面的图片。
`convert /tmp/7eee6327-8b7a-41f8-a1a2-19bbc3f297c2.jpg ( -size 2592x2592 xc:black -fill white -draw "circle 1296,1296 1296,2591" ) -alpha off -gravity center -compose copy_opacity -composite -crop 2592x2592+0+0 -thumbnail 300x300> /tmp/7eee6327-8b7a-41f8-a1a2-19bbc3f297c2.png` failed with code 1
【问题讨论】:
-
您的路径包含 - 并且可能会混淆 Imagemagick。尝试将路径包含在“”中,我建议从简单的东西开始 - 一个具有固定值的普通圆圈,当它起作用时展开它。
-
括号两边必须有空格。您的代码是否提供该间距?
-
我在imagemagick.online 中运行此代码,我得到了我所期望的。我也认为因为那个文件路径但是当我运行像生成缩略图这样的简单代码时,它很好。
-
您需要转义括号。使用
"\("而不是"("。
标签: node.js firebase imagemagick google-cloud-functions