我有图像托管在amazons3 server.my客户端想要处理的图像使用亚马逊λ函数。我遵循了下面的示例:http://docs.aws.amazon.com/lambda/latest/dg/walkthrough-s3-events-adminuser-create-test-function-create-function.html
这是调整大小的好方法。但是我想要覆盖和水印的图像also.But没有办法。我已经尝试与imagemagick[https://www.npmjs.com/package/gm],因为它似乎以路径为参数和s3图像路径没有帮助我。我认为最明显的原因是它们不能作为目录中的图像路径直接访问。
关于如何实现这一点的任何建议。我卡住了3天,但无法提前移动forward.Thanks寻求帮助!
发布于 2015-11-02 21:25:15
看起来您正在尝试在大小操作中进行叠加。在gm repository on GitHub的快速检查显示了一个issue with a possible solution。看起来就像我们想的那样,复合动作接受一个流进行读取。关于您的代码,我建议使用重构来将这些操作链接在一起。不过,我不确定我是否理解写流在原始函数中的位置。如果这有帮助,请告诉我!
var scalingFactor = Math.min(
newSize / size.width,
newSize / size.height
);
var width = scalingFactor * size.width;
var height = scalingFactor * size.height;
gm(response.Body)
.autoOrient()
.resize(width, height)
.gravity('SouthEast')
.draw('image Over 0,0 0,0 ' + getAppPath() + '/path/to/wm-bas.png')
.stream('PNG') // This converts the whole thing to a png, not sure if you want this
.pipe(writeStream) // Change this
https://stackoverflow.com/questions/30916926
复制