Мне удалось установить ImageMagick как слой в AWS, и в настоящее время я могу изменять размеры и добавлять фигуры, но я не могу нарисовать текст. Я слежу за этим https://tech.mybuilder.com/memes-as-a-service-using-lambda-serverless-and-imagemagick/, как показано ниже.
Снова я получаю изображение обратно из ответа, но в нем отсутствуют слова drawText слова "привет". цениться
const gm = require('gm').subClass({ imageMagick: true });
const fs = require('fs');
const { IMAGES_DIR, TEXT_SIZE, TEXT_PADDING } = process.env;
const parseText = text => (text || '').toUpperCase();
const getImages = () => fs.readdirSync(IMAGES_DIR);
const parseImage = image => getImages().find(file => file.indexOf(image) === 0);
const random = arr => arr[Math.floor(Math.random() * arr.length)];
const randomImage = () => random(getImages());
module.exports.meme = (event, context, callback) => {
const input = event.queryStringParameters || {};
const top = parseText('hello');
const image = parseImage(input.image) || randomImage();
const meme = gm(`${IMAGES_DIR}${image}`);
meme.size(function (err, { height }) {
meme
.font('Courier', 20)
.fill('white')
.stroke('black', 2)
.drawText(0, 0, top, 'center')
.toBuffer(function (err, buffer) {
callback(null, {
statusCode: 200,
headers: { 'Content-Type': 'image/jpeg' },
body: buffer.toString('base64'),
isBase64Encoded: true,
});
});
});
};