带有锐利的水印

Posted

技术标签:

【中文标题】带有锐利的水印【英文标题】:Watermark with sharp 【发布时间】:2019-12-01 21:42:34 【问题描述】:

我有一张图片,我把水印放在那里,但我希望水印的不透明度为 30%。

我的代码:

    let sharp = require('sharp');
    let buffer = null;

    await sharp(image)
        .composite([ input: './logo.png', gravity: 'center' ])
        .sharpen()
        .withMetadata()
        .toBuffer()
        .then(function(outputBuffer) 
            buffer = outputBuffer;
        );
    return buffer;

我怎么能说徽标的不透明度为 30%?

【问题讨论】:

我相信你需要合成另一个只有 0.7 alpha 通道的图像,并使用混合模式“dest-in” @Asthmatic 对不起,我不明白。你能传递一个示例代码吗? 类似于github.com/lovell/sharp/issues/405#issuecomment-208033263,但将混合模式设置为dest-in...但在您的情况下,您不需要reducer,因为它只是2个图像 @Asthmatic 我这样做了,所有图像都是黑色的,水印是不透明度的 0% 【参考方案1】:

您需要更改“logo.png”的不透明度使用blur,然后像上面的代码片段一样编写它。

【讨论】:

【参考方案2】:

夏普还不能做到这一点。

另一种方法是在合成之前使用画布更改图像不透明度。 https://github.com/Automattic/node-canvas/blob/master/examples/globalAlpha.js

【讨论】:

以上是关于带有锐利的水印的主要内容,如果未能解决你的问题,请参考以下文章

Spark 结构化流 - 带有水印替代解决方案的 dropDuplicates

java如何实现在web工程中用OpenOffice生成带有图片水印的pdf

在IOS中录制带有实时时间戳水印的视频,最好使用appcelerator

带有水印和音频的 FFmpeg 连接“过滤器图描述中的流说明符不匹配任何流”。

如何用手机微信小程序除水印去掉图片上的水印?

给PDF文件添加水印的方法(图片水印)