如何在 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.tw');
   // 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.