详情页标题前

腾讯云对象存储图文混合水印实战

详情页1

操作场景

数据万象基础图片处理的水印功能支持在图片上添加 图片水印文字水印。但在现实的业务场景中,经常出现一张图片上既有固定的 Logo 水印,也有动态变化的文字水印(例如用户名)的情况。针对上述场景,我们提供了如下方案供您参考,您可结合实际业务场景,选择合适的接入方案。

方案优势对比

方案 优点 缺点
方案一 接入简单,实现方便。 水印尺寸无法跟随图片大小进行动态变换,无法进行平铺操作。
方案二 在图片尺寸多变的场景下,会达到比方案一更好的自适应效果。 接入流程更为繁琐,且会收取两次处理费用。

操作方案

方案一:使用管道操作符实现一条 URL 同时打上两种水印

数据万象的基础图片处理功能支持使用 管道操作符 “|”实现一次请求、多次处理,且只计算一次处理和流量费用。使用这种方式可大幅减少重复请求带来的时延和额外费用。

操作步骤

1. 参见 图片水印 API 文档,定义图片水印的参数。
如您不熟悉 API 参数,可参考
样式管理 文档,通过控制台新增样式,生成参数。

腾讯云对象存储图文混合水印实战


如上图红框所示,处理参数如下:

watermark/1/image/aHR0cDovL2V4YW1wbGVzLTEyNTgxMjU2MzguY29zLmFwLWd1YW5nemhvdS5teXFjbG91ZC5jb20vbG9nby5wbmc/dissolve/60/dx/10/dy/50/gravity/southeast

说明 此处的编码aHR0cDovL2V4YW1wbGVzLTEyNTgxMjU2MzguY29zLmFwLWd1YW5nemhvdS5teXFjbG91ZC5jb20vbG9nby5wbmc为水印图片链接(即存储在对象存储 bucket 上的图片链接)经过 URL 安全的 base64 编码后生成。2. 参见 文字水印 API 文档,定义文字水印的参数。
如您不熟悉 API 参数,可参考
样式管理 通过控制台新增样式,生成参数。

腾讯云对象存储图文混合水印实战



watermark/2/text/VUlOOiAxMjM0NTY3OA/font/SGVsdmV0aWNhLmRmb250/fontsize/36/fill/IzAwMDAwMA/dissolve/50/gravity/southeast/dx/10/dy/10

说明 此处编码VUlOOiAxMjM0NTY3OA为文字信息UIN: 12345678经过 URL 安全的 base64 编码后生成。3. 使用管道操作符拼接图片水印和文字水印的两段参数:

watermark/2/text/VUlOOiAxMjM0NTY3OA/font/SGVsdmV0aWNhLmRmb250/fontsize/36/fill/IzAwMDAwMA/dissolve/50/gravity/southeast/dx/10/dy/10|watermark/1/image/aHR0cDovL2V4YW1wbGVzLTEyNTgxMjU2MzguY29zLmFwLWd1YW5nemhvdS5teXFjbG91ZC5jb20vbG9nby5wbmc/gravity/southeast/dx/10/dy/50/dissolve/60 

4. 将拼接的参数拼接至图片的下载链接后方:

https://examples-1258125638.cos.ap-guangzhou.myqcloud.com/preview.png?watermark/2/text/VUlOOiAxMjM0NTY3OA/font/SGVsdmV0aWNhLmRmb250/fontsize/36/fill/IzAwMDAwMA/dissolve/50/gravity/southeast/dx/10/dy/10|watermark/1/image/aHR0cDovL2V4YW1wbGVzLTEyNTgxMjU2MzguY29zLmFwLWd1YW5nemhvdS5teXFjbG91ZC5jb20vbG9nby5wbmc/gravity/southeast/dx/10/dy/50/dissolve/60 

即可获得混合水印的图片:

腾讯云对象存储图文混合水印实战


为了缩短 URL 长度,我们可以参考
样式管理 文档,在控制台将图片水印(保持不变)的部分新增为样式watermark1

腾讯云对象存储图文混合水印实战


这样,链接即可缩短为:

https://examples-1258125638.cos.ap-guangzhou.myqcloud.com/preview.png/watermark1?watermark/2/text/VUlOOiAxMjM0NTY3OA/font/SGVsdmV0aWNhLmRmb250/fontsize/36/fill/IzAwMDAwMA/dissolve/50/gravity/southeast/dx/10/dy/10

之后需要更改文字内容时,您只需将链接中VUlOOiAxMjM0NTY3OA部分替换为更新后的 base64 编码即可实现。例如UIN: 88888888的编码为VUlOOiA4ODg4ODg4OA,此时只需将链接更改为如下内容,即可实现文字内容的替换。

https://examples-1258125638.cos.ap-guangzhou.myqcloud.com/preview.png/watermark1?watermark/2/text/VUlOOiA4ODg4ODg4OA/font/SGVsdmV0aWNhLmRmb250/fontsize/36/fill/IzAwMDAwMA/dissolve/50/gravity/southeast/dx/10/dy/10



腾讯云对象存储图文混合水印实战



方案二:将文字和图片水印打印到透明图片上,再将其作为图片水印

1. 准备一张400px * 400px尺寸的透明 PNG 图片,上传至存储桶中。详情可参见 上传文件 文档。
例如:
https://examples-1258125638.cos.ap-guangzhou.myqcloud.com/transparent.png
2. 参见方案一的步骤1 – 步骤3,生成图片水印和文字水印两段参数,并将其拼接。3. 将拼接的参数拼接至透明 PNG 图片的下载链接后方:

https://examples-1258125638.cos.ap-guangzhou.myqcloud.com/transparent.png?watermark/2/text/VUlOOiAxMjM0NTY/font/SGVsdmV0aWNhLmRmb250/fontsize/48/fill/IzAwMDAwMA/dissolve/60/gravity/south/dx/0/dy/60|watermark/1/image/aHR0cDovL2V4YW1wbGVzLTEyNTgxMjU2MzguY29zLmFwLWd1YW5nemhvdS5teXFjbG91ZC5jb20vbG9nby5wbmc/gravity/center/dx/0/dy/0/dissolve/71

其效果如下:

腾讯云对象存储图文混合水印实战


4. 将这张透明图片作为水印图片,对原图进行打水印操作即可:

https://examples-1258125638.cos.ap-guangzhou.myqcloud.com/preview.png?watermark/1/image/aHR0cDovL2V0ZXJuYXV4LTEzMDE0NTM1NTAuY29zLmFwLWd1YW5nemhvdS5teXFjbG91ZC5jb20vdHJhbnNwYXJlbnQucG5nP3dhdGVybWFyay8yL3RleHQvVlVsT09pQXhNak0wTlRZL2ZvbnQvU0dWc2RtVjBhV05oTG1SbWIyNTAvZm9udHNpemUvNDgvZmlsbC9JekF3TURBd01BL2Rpc3NvbHZlLzYwL2dyYXZpdHkvc291dGgvZHgvMC9keS82MHx3YXRlcm1hcmsvMS9pbWFnZS9hSFIwY0RvdkwyVjBaWEp1WVhWNExURXpNREUwTlRNMU5UQXVZMjl6TG1Gd0xXZDFZVzVuZW1odmRTNXRlWEZqYkc5MVpDNWpiMjB2Ykc5bmJ5NXdibWMvZ3Jhdml0eS9jZW50ZXIvZHgvMC9keS8wL2Rpc3NvbHZlLzcx/gravity/southeast/dx/0/dy/0/dissolve/90

其效果如下:

腾讯云对象存储图文混合水印实战

您还可以通过scatype参数使水印图尺寸根据图片大小等比例缩放,并通过batch参数设置平铺。

https://examples-1258125638.cos.ap-guangzhou.myqcloud.com/preview.png?watermark/1/image/aHR0cDovL2V0ZXJuYXV4LTEzMDE0NTM1NTAuY29zLmFwLWd1YW5nemhvdS5teXFjbG91ZC5jb20vdHJhbnNwYXJlbnQucG5nP3dhdGVybWFyay8yL3RleHQvVlVsT09pQXhNak0wTlRZL2ZvbnQvU0dWc2RtVjBhV05oTG1SbWIyNTAvZm9udHNpemUvNDgvZmlsbC9JekF3TURBd01BL2Rpc3NvbHZlLzYwL2dyYXZpdHkvc291dGgvZHgvMC9keS82MHx3YXRlcm1hcmsvMS9pbWFnZS9hSFIwY0RvdkwyVjBaWEp1WVhWNExURXpNREUwTlRNMU5UQXVZMjl6TG1Gd0xXZDFZVzVuZW1odmRTNXRlWEZqYkc5MVpDNWpiMjB2Ykc5bmJ5NXdibWMvZ3Jhdml0eS9jZW50ZXIvZHgvMC9keS8wL2Rpc3NvbHZlLzcx/scatype/3/spcent/30/gravity/southeast/dx/0/dy/0/dissolve/90/batch/1/degree/45

其效果如下:

腾讯云对象存储图文混合水印实战


对象存储官网1折活动,限时活动,即将结束,速速收藏
同尘科技腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/144381.html

(0)
上一篇 2023年12月9日 上午1:45
下一篇 2023年12月9日 上午1:45
详情页2

相关推荐

  • 腾讯云负载均衡健康探测源 IP 支持100.64.0.0/10网段

    本文介绍如何将 CLB 健康探测的源 IP 由 CLB 的虚拟服务地址(VIP)设置为100.64.0.0/10网段,本文以 TCP 监听器为例。 使用场景 1. 收敛后端服务器安全组健康探测源 IP 收敛为100.64.0.0/10网段。2. 解决自建 Kubernetes 集群内网回环问题K8s 服务需要同时对集群内和集群外暴露。其中集群内通过集群内部负…

    2023年12月9日
  • 腾讯云对象存储词性分析

    简介 本文档提供关于词性分析的相关 API 概览以及 SDK 示例代码。 API 操作描述 提交任务 提交一个分词任务。 SDK API 参考 SDK 所有接口的具体参数与方法说明,请参考 SDK API。 提交任务 功能说明 提交一个分词任务。说明: COS iOS SDK 版本需要大于等于 v6.2.9。 示例代码 Objective-C QClou…

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云Serverless HTTP 服务快速部署 Flask 框架

    操作场景 本文将为您指导如何通过 SCF Web Function,快速部署您的 Flask 业务上云。说明本文档主要介绍控制台部署方案,您也可以通过命令行完成部署,详情请参见 通过命令行完成框架部署。 前提条件 在使用腾讯云云函数服务之前,您需要 注册腾讯云账号 并完成 实名认证。 操作步骤 模板部署:一键部署 Flask 项目 1. 登录 Serverl…

    2023年12月9日
  • 腾讯云对象存储直播审核

    简介 内容审核功能是由 数据万象(Cloud Infinite,CI)提供的,数据万象将处理能力与 COS SDK 完全结合,您可以直接按照本篇文档指引进行使用。说明使用内容审核服务需拥有数据万象使用权限:主账号请 单击此处 进行角色授权。子账号请参见 授权子账号接入数据万象服务 文档。本文档提供关于直播审核的相关的 API 概览以及 SDK 示例代码。 A…

    腾讯云 2023年12月9日
  • 腾讯云容器服务在 TKE 上部署 Jenkins同尘科技

    操作场景 许多 DevOps 的需求需要借助 Jenkins 来实现,本文将介绍如何在容器服务 TKE 上部署 Jenkins。 前提条件 已创建 TKE 集群。 操作步骤 安装 Jenkins 1. 登录容器服务控制台,选择左侧导航栏中的 应用市场。 2. 在应用市场页面搜索 Jenkins,并进入 Jenkins 应用页面。 3. 单击创建应用,创建应用…

    2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。