如何在Node js中创建图像?
我正在研究一个程序,该程序会生成报价,然后将文本放在JPEG图像的顶部。我找到了一个npm软件包来生成报价,但是我不知道如何获取文本并将其放置在图像顶部?
我曾尝试搜索npm软件包,但找不到任何软件包。我还考虑过在目录中预加载图像,然后可以在其上添加文本,但是我不知道该怎么做。我唯一能找到的是生成像素化图像的程序包
const Quote = require('inspirational-quotes');
console.log(Quote.getRandomQuote());
console.log(Quote.getQuote());
var fs = require('fs');
var imgGen = require('js-image-generator');
// Generate one image
imgGen.generateImage(800, 600, 80, function(err, image) {
fs.writeFileSync('dummy.jpg', image.data);
});
// Generate multiple images
for(var i=1;i<=10;i++){
imgGen.generateImage(800, 600, 80, function(err, image) {
console.log("Generating image #" +i);
fs.writeFileSync('dummy-' + i + '.jpg', image.data);
});
}
回答如下:您可能想看看ImageMagick(或GraphicMagick),它是一种命令行二进制文件(用C ++编写),可以执行各种图像操作,包括合成和文本覆盖。 ImageMagick本身几乎是图像处理的“瑞士刀”,并且已经存在了很多年,它具有许多适用于几乎所有环境的客户端库和端口。
有关命令行参考以及如何覆盖文本:https://imagemagick/Usage/annotating/#wmark_text
[有很多功能强大的npm模块提供ImageMagick / GraphicMagick包装器,这里只是其中之一:https://www.npmjs/package/gm-还有很多可用的]
希望有帮助,祝你好运!