如何在nodejs中为图片添加水印。我正在使用loopback框架,我想在上传的每个图像上添加一个水印,我尝试了几个图像处理模块,但无法实现水印。
我用下面的代码尝试了图像水印库:
watermark.embedWatermark('./server/storage/images/img_hkd.jpg', { 'text': 'sample watermark' });但是我得到了这个错误:错误:生成标识ENOENT
发布于 2019-06-11 15:26:56
使用jimp模块而不是watermark。这对我很管用。
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'))
}发布于 2017-02-10 21:09:04
只需使用一个包,我已经使用了imaginary,没有任何问题。
//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'))https://stackoverflow.com/questions/42158636
复制相似问题