前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >对象存储COS数据处理-灵活使用图片参数

对象存储COS数据处理-灵活使用图片参数

原创
作者头像
wanjiewu
修改2021-02-14 15:32:51
1.4K0
修改2021-02-14 15:32:51
举报

对象存储COS数据处理-灵活使用图片参数

随着5G等技术的普及,信息的传播越发的快速,更好的满足了民众对于信息的诉求。越来越多的产品提供了丰富的信息资源,包括图片、视频、音频等等。如何存储和处理这些数据是一个产品需要考虑的重要方面,如果由产品团队自己来进行图片、音视频和文档数据的存储和处理,需要投入硬件采购、软件系统部署和维护成本,同时也需要专业的技术团队。

腾讯云对象存储COS数据处理能力更好地为产品团队提供专业稳定的云端处理能力,基于数据万象CI的云端数据处理能力具有规模大、专业性强等特点,同时也经过内外部产品大规模的检验。

数据处理流程

处理过程.png
处理过程.png

能力简介

COS数据处理之图片处理是腾讯云为客户提供的一体化的图片解决方案,覆盖上传、下载和识别功能,其中上传和下载时支持丰富的图像处理功能,如裁剪、压缩、水印和转格式等,满足各种业务场景需求,给用户提供了安全、稳定、高效的云端数据处理能力,满足用户的多种需求。

基础图片处理

基础图片处理能力使用为简单,只需要拼接URL参数就可以,具体见API文档

代码语言:txt
复制
https://cloud.tencent.com/document/product/460/6924

基础图片处理-旋转

通过imageMogr2参数提供旋转功能,可以支持旋转固定角度和自适应旋转。自适应旋转是指根据原图EXIF信息将图片自动回正。

代码语言:txt
复制
https://demo-1253960454.cos.ap-chongqing.myqcloud.com/demo.jpg?imageMogr2/rotate/30

1、旋转30度:

2、auto-orient旋转:

auto-orient旋转(读取EXIF的信息并且自动旋转输出图片):

代码语言:txt
复制
https://demo-1253960454.cos.ap-chongqing.myqcloud.com/demo\_270.jpg

默认显示:

代码语言:javascript
复制
https://demo-1253960454.cos.ap-chongqing.myqcloud.com/demo_270.jpg?imageMogr2/auto-orient

auto-orient显示:

基础图片处理-缩放

通过imageMogr2参数提供了缩放功能,可以支持多种限制方式的缩放,同时针对需要填充时可以支持按照颜色进行填充。

1、宽高同时缩放30%

代码语言:txt
复制
https://demo-1253960454.cos.ap-chongqing.myqcloud.com/demo.jpg?imageMogr2/thumbnail/!30p

2、缩放并且填充颜色

代码语言:txt
复制
https://demo-1253960454.cos.ap-chongqing.myqcloud.com/demo.jpg?imageMogr2/thumbnail/300x200/pad/1/color/IzNEM0QzRA
img
img

基础图片处理-格式转换

通过imageMogr2参数可以实现丰富的格式转换功能,主流的jpg,bmp,gif,png,webp和heif都可以支持。方便用户使用。

1、png格式

代码语言:txt
复制
https://demo-1253960454.cos.ap-chongqing.myqcloud.com/demo.jpg?imageMogr2/format/png

2、webp格式

代码语言:txt
复制
https://demo-1253960454.cos.ap-chongqing.myqcloud.com/demo.jpg?imageMogr2/format/webp

3、heif格式

代码语言:txt
复制
https://demo-1253960454.cos.ap-chongqing.myqcloud.com/demo.jpg?imageMogr2/format/heif

heif格式很多暂时不支持,先不预览图片。

基础图片处理-格式对比

COS对象存储也为jpg图片类型提供guetzli压缩功能,该功能也可以达到60+%的图片压缩能力。欢迎各位使用COS的数据处理能力体验馆,寻找你需要的能力

代码语言:txt
复制
https://cloud.tencent.com/act/pro/cosExhibition

jpg启用guetzli压缩

jpg转为webp格式,可以达到30+%的质量减少。

jpg转为heif格式,可以达到50+%的质量减少。

基础图片处理-灵活使用图片格式转换参数

针对如此多的图片格式,如何更好的使用这些图片格式让客户业务获得更好的业务体验。如下推荐参数中,大家发现多了ignore-error和auto-orient两个参数key,这两个参数key可以更好的规避一些超大图或者图信息缺少导致的转换失败,可以优先返回原图。注意,COS服务是无法感知到客户的使用环境,所以想要准确的使用各种格式,客户需要在客户主动判断使用环境选择最优的格式,使得客户业务更快的图片加载体验。

1、对于一些新的移动系统使用IOS 11以上及 Android P 系统预览,我们可以优先让客户业务使用heif格式。

代码语言:txt
复制
imageMogr2/auto-orient/ignore-error/1|imageMogr2/format/heif

2、对于常用的系统或者环境,可以使用让客户业务使用webp格式。

代码语言:txt
复制
imageMogr2/auto-orient/ignore-error/1|imageMogr2/format/webp

3、对于一些低系统或者需要兼容性高,可以使用让客户使用guetzli压缩

代码语言:txt
复制
imageMogr2/auto-orient/ignore-error/1|imageMogr2/format/guetzli

4、对于使用CDN的大量客户,我们也可以通过和CDN的集成的方式为客户提供格式的支持。

4.1、Webp自适应能力

HTTP 请求头中 accept 头部包含 image/webp。

图片后缀为 jpg、jpeg、bmp、gif、png。

4.2、Guetzli自适应能力

HTTP 请求头中 accept 头部包含 image/guetzli。

图片后缀为 jpg、jpeg。

基础图片处理-水印能力

通过watermark参数提供了多种水印能力,包括图片水印,文字水印,方便用户使用。

代码语言:txt
复制
https://cloud.tencent.com/act/pro/cosExhibition

基础图片处理-水印能力扩展

2020年作为在线教育和在线办公元年,催生了很多关于版权保护的需要,各大公司和学校内部数据都需要保护能力,这时候图片的水印能力就可以做到一些防护。但是客户可能会疑问通过图片链接就可以获得到图片原图,是否能真正的保护,针对这种情况我们提供了一种参数加密的能力,这样用户就完全不知道图片的原始链接。如您想使用该功能,可提交工单或点击右侧联系我们,以开启参数加密。您只需提供需要加密的bucket名称,并根 据下文中的加密算法对您的请求链接进行加密开发。

1、文字水印

2、加密方式:

代码语言:txt
复制
1、加密算法:AES

2、加密模式:cbc

3、加密key:自定(双方一致,需使用16位字符串)

4、加密vi:自定(双方一致,需使用16位字符串)

5、加密流程

6、按照“ci-process=?<compress\_param>”格式拼接请求串,对请求串使用AES的CBC模式加密,然后对加密后的二进 制内容再进行urlsafe的base64编码,最终使用“域名/<urlsafe\_base64encode(encrypt)>”进行访问

注:

fileid:资源名称 compress\_param:处理参数,如?imageMogr2/format/webp

3、示例:

代码语言:txt
复制
1、原始URL:

https://demo-1253960454.cos.ap-chongqing.myqcloud.com/demo.jpg?watermark/2/text/Q09T5pWw5o2u5aSE55CG/fill/IzNEM0QzRA/fontsize/20/dissolve/50/dx/20/dy/20/batch/1/degree/45

2、加密key: TIwODEwMDEucGljc 加密vi: NTIwODEwMDEu2RzL

3、待加密串:

ci-process=demo.jpg?watermark/2/text/Q09T5pWw5o2u5aSE55CG/fill/IzNEM0QzRA/fontsize/20/dissolve/50/dx/20/dy/20/batch/1/degree/45

4、加密并urlsafe\_base64encode后:

Sz2-8N\_7VlMBCynB\_Rv48QZW3blBRI-cCNJcp2H1rm4Oji-soJhk4xYirO8w0dJwRWyJh\_vswJQ1UoyoheqvnoklGmdu\_7UxTpX0jlihybRDY9GKDLWroNr7Ch-zc0BxE-1kxIbwoReBu558D\_BRmn-K\_b-Q3HH69fyL6HVwIks=

5、https://demo-1253960454.cos.ap-chongqing.myqcloud.com/Sz2-8N\_7VlMBCynB\_Rv48QZW3blBRI-cCNJcp2H1rm4Oji-soJhk4xYirO8w0dJwRWyJh\_vswJQ1UoyoheqvnoklGmdu\_7UxTpX0jlihybRDY9GKDLWroNr7Ch-zc0BxE-1kxIbwoReBu558D\_BRmn-K\_b-Q3HH69fyL6HVwIks=?imageMogr2/auto-orient

注意:

如果bucket为私有读写,需要对加密后的串(当做虚拟文件)做签名,否则无法通过COS的签名验证。

?imageMogr2/auto-orient参数用于标识该请求是图片类的请求。
img
img

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档