Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Lambda中的imagemagick层使用.js和gm在图像上应用水印_Javascript_Amazon Web Services_Aws Lambda_Imagemagick_Watermark - Fatal编程技术网

Javascript 使用Lambda中的imagemagick层使用.js和gm在图像上应用水印

Javascript 使用Lambda中的imagemagick层使用.js和gm在图像上应用水印,javascript,amazon-web-services,aws-lambda,imagemagick,watermark,Javascript,Amazon Web Services,Aws Lambda,Imagemagick,Watermark,我观看了一段Youtube视频,内容是在Lambda上添加Imagemagick层,并使用它使用Imagemagick提供的不同功能。该示例演示了如何调整图像大小,但我需要对其应用水印。视频给出的代码如下: const gm = GM.subClass({ imageMagick: true }); const FileType = require('file-type'); const AWS = require('aws-sdk'); const s3 = new AWS.S3(); con

我观看了一段Youtube视频,内容是在Lambda上添加Imagemagick层,并使用它使用Imagemagick提供的不同功能。该示例演示了如何调整图像大小,但我需要对其应用水印。视频给出的代码如下:

const gm = GM.subClass({ imageMagick: true });
const FileType = require('file-type');
const AWS = require('aws-sdk');
const s3 = new AWS.S3();
const axios = require('axios');

exports.downloadImage = async (url) => {
  const res = await axios.get(url, { responseType: 'arraybuffer' });
  return Buffer.from(res.data, 'binary');
};

exports.resize = async (buf, width, height) => {
  return new Promise((resolve, reject) => {
    gm(buf).resize(width, height).noProfile().toBuffer((err, buffer) => err ? reject(err) : resolve(buffer));
  });
};

exports.saveToS3 = async (bucket, name, buf) => {
  const contentType = await FileType.fromBuffer(buf);
  const key = `${name}.${contentType.ext}`;
  await s3.putObject({
    Bucket: bucket,
    Key: key,
    Body: buf,
    ContentEncoding: 'base64',
    ContentType: contentType.mime,
  }).promise();
  return key;
};
现在我需要使用Imagemagick gm库应用水印,我发现convert可以将一些文本应用到照片中,但我对javascript非常熟悉,因此不确定如何编辑以使调整大小函数作为水印函数工作。如果有人能说明这一点,那将是一个很大的帮助。谢谢