如何在 NodeJS 中使用 JIMP 在图像上叠加文本?


像图像一样,我们也可以使用 JIMP 在图像上叠加文本。这可以用来在图像上显示品牌或版权信息。`print()` 方法用于在图像上写入文本。虽然 JIMP 只能支持位图字体格式 (.fnt),但其他字体可以转换为这种格式以与 JIMP 兼容并使用。

语法

image.print(font, x, y, message);

`print()` 参数定义

  • font – 这是用户传递的用于在图像上写入文本的字体。

  • x, y – 文本将放置的坐标。

  • message – 这是用户定义的消息,在 `print()` 中传递,用于将其打印到图像上。

输入图像

使用 Node JIMP – GREYSCALE()

在继续使用 `greyscale()` 函数之前,请检查以下语句是否已执行以设置环境。

  • npm init -y // 初始化 Node 环境

  • npm install jimp --save // 安装 jimp 依赖项

  • 创建一个名为 textOverlay.js 的文件,并将以下代码片段复制粘贴到其中。

  • 使用 node textOverlay.js 运行代码。

注意 – 方法名称应与 JS 文件名匹配。只有这样才能调用所需的方法。

示例

const Jimp = require('jimp') ;

async function textOverlay() {
   // Reading image
   const image = await Jimp.read('/home/jimp/tutorials_point_img.jpg');
   // Defining the text font
   const font = await Jimp.loadFont(Jimp.FONT_SANS_32_BLACK);
   image.print(font, 10, 350, 'All copyrights @https://tutorialspoint.com');
   // Writing image after processing
   await image.writeAsync('/home/jimp/textOverlay.png');
}

textOverlay();
console.log("Image is processed succesfully");

输出

更新于:2021年4月28日

5K+ 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.