如何在nodejs中为图像添加水印。我正在使用环回框架,我想为每个上传的图像添加水印,我尝试了几个图像处理模块,但无法实现水印。
我尝试了带有代码的图像水印库:
watermark.embedWatermark('./server/storage/images/img_hkd.jpg', { 'text': 'sample watermark' });
但我收到此错误:错误:spawn识别ENOENT
答案 0 :(得分:0)
只需使用一个包,我就没有任何问题使用虚构。
//Install
npm install imaginary --save
//Import
var fs = require('fs')
var imaginary = require('imaginary')
var serverUrl = 'localhost:8080'
imaginary('myImage.jpg')
.server(serverUrl)
.watermark({ text: 'copyright' })
.on('error', function (err) {
console.error('Cannot resize the image:', err)
})
.pipe(fs.createWriteStream('markedImage.jpg'))
答案 1 :(得分:0)
使用watermark
模块代替jimp
。它对我有用。
let imgActive = 'active/image.jpg'; Jimp.read('raw/originalimage.png').then(tpl =>(tpl.clone().write(imgActive))).then(() => (Jimp.read(imgActive))).then(tpl=>(Jimp.read('raw/logo.png').then(logoTpl => {logoTpl.opacity(0.2);return tpl.composite(logoTpl,512,512,[Jimp.BLEND_DESTINATION_OVER]);}))).then(tpl=>(tpl.write('raw/watermark.png')))