详情页标题前

腾讯云对象存储基础图片处理

详情页1

简介

腾讯云对象存储(Cloud Object Storage,COS)集成了 数据万象(Cloud Infinite,CI)专业的一体化多媒体解决方案,涵盖以下图片处理功能,详情可见 图片处理概述

功能 说明
缩放 等比缩放、设定目标宽高缩放等多种方式
裁剪 普通裁剪、缩放裁剪、内切圆、人脸智能裁剪
旋转 自适应旋转、普通旋转
格式转换 格式转换、GIF 格式优化、渐进显示
质量变换 针对 JPG 和 WEBP 图片进行质量变换
高斯模糊 对图片进行模糊处理
亮度 调节图片亮度
对比度 调节图片对比度
锐化 对图片进行锐化处理
灰度图 将图片设置为灰度图
图片水印 提供图片水印处理功能
文字水印 提供文字水印处理功能
获取图片基本信息 查询图片基本信息,包括格式、长、宽等
获取图片 EXIF 获取 EXIF 信息
获取图片主色调 获取图片主色调信息
去除元信息 可去除图片元信息,包括 exif 信息
快速缩略模板 快速实现图片格式转换、缩略、剪裁等功能,生成缩略图
限制图片大小 可限制图片处理(例如缩放、压缩等)后的文件大小
管道操作符 实现对图片按顺序进行多种处理

使用方式

基础图片处理可通过以下三种方式实现,本文档内的 demo 仅提供对云上数据进行图片处理的方式,具体实现代码或其他实现方式可参考 图片持久化处理1. 上传时使用图片处理2. 对云上数据进行图片处理3. 下载时使用图片处理

缩放

功能说明

腾讯云数据万象通过 imageMogr2 接口提供图片缩放功能。处理图片原图大小不超过32MB、宽高不超过30000像素且总像素不超过2.5亿像素,处理结果图宽高设置不超过9999像素;针对动图,原图宽 x 高 x 帧数不超过2.5亿像素。

代码示例

// 以下为云上数据进行图片处理demo,其他方式demo或完整demo请参考图片持久化处理文档
const picOperations = JSON.stringify({ is_pic_info: 1, // 固定 // fileid 设置和Key相同可实现只保留处理后的图片而不保留原图 // rule 举例:缩放图片宽高为原图50% rules: [{ fileid: 'desample_photo.jpg', rule: 'imageMogr2/thumbnail/!50p/' }], });// 对云上数据进行图片处理cos.request( { Bucket: 'examplebucket-1250000000', // Bucket 格式:test-1250000000,必填 Region: 'COS_REGION', // Bucket所在地域,比如ap-beijing,必填 Key: '1.jpg', // 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必填 Method: 'POST', // 固定值 Action: 'image_process', // 固定值 Headers: { 'Pic-Operations': picOperations, }, }, function (err, data) { console.log(err || data); },);

裁剪

功能说明

腾讯云数据万象通过 imageMogr2 接口提供裁剪功能,包括普通裁剪、缩放裁剪、内切圆裁剪、圆角裁剪和人脸智能裁剪。

代码示例

// 以下为云上数据进行图片处理demo,其他方式demo或完整demo请参考图片持久化处理文档
const picOperations = JSON.stringify({ is_pic_info: 1, // 固定 // fileid 设置和Key相同可实现只保留处理后的图片而不保留原图 // rule 举例:相对于图片左上顶点水平向右平移100像素,垂直向下平移10像素,指定目标图片大小为600×600进行裁剪 rules: [{ fileid: 'desample_photo.jpg', rule: 'imageMogr2/cut/600x600x100x10' }], });// 对云上数据进行图片处理cos.request( { Bucket: 'examplebucket-1250000000', // Bucket 格式:test-1250000000,必填 Region: 'COS_REGION', // Bucket所在地域,比如ap-beijing,必填 Key: '1.jpg', // 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必填 Method: 'POST', // 固定值 Action: 'image_process', // 固定值 Headers: { 'Pic-Operations': picOperations, }, }, function (err, data) { console.log(err || data); },);

旋转

功能说明

腾讯云数据万象通过 imageMogr2 接口提供旋转功能,包括普通旋转和自适应旋转。

代码示例

// 以下为云上数据进行图片处理demo,其他方式demo或完整demo请参考图片持久化处理文档
const picOperations = JSON.stringify({ is_pic_info: 1, // 固定 // fileid 设置和Key相同可实现只保留处理后的图片而不保留原图 // rule 举例:顺时针旋转90度 rules: [{ fileid: 'desample_photo.jpg', rule: 'imageMogr2/rotate/90' }], });// 对云上数据进行图片处理cos.request( { Bucket: 'examplebucket-1250000000', // Bucket 格式:test-1250000000,必填 Region: 'COS_REGION', // Bucket所在地域,比如ap-beijing,必填 Key: '1.jpg', // 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必填 Method: 'POST', // 固定值 Action: 'image_process', // 固定值 Headers: { 'Pic-Operations': picOperations, }, }, function (err, data) { console.log(err || data); },);

格式转换

功能说明

腾讯云数据万象通过 imageMogr2 接口提供格式转换、gif 格式优化、渐进显示功能。

代码示例

// 以下为云上数据进行图片处理demo,其他方式demo或完整demo请参考图片持久化处理文档
const picOperations = JSON.stringify({ is_pic_info: 1, // 固定 // fileid 设置和Key相同可实现只保留处理后的图片而不保留原图 // rule 举例:将 jpg 格式的原图片转换为 png 格式 rules: [{ fileid: 'desample_photo.jpg', rule: 'imageMogr2/format/png' }], });// 对云上数据进行图片处理cos.request( { Bucket: 'examplebucket-1250000000', // Bucket 格式:test-1250000000,必填 Region: 'COS_REGION', // Bucket所在地域,比如ap-beijing,必填 Key: '1.jpg', // 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必填 Method: 'POST', // 固定值 Action: 'image_process', // 固定值 Headers: { 'Pic-Operations': picOperations, }, }, function (err, data) { console.log(err || data); },);

质量变换

功能说明

腾讯云数据万象通过 imageMogr2 接口对图片质量进行调节。

代码示例

// 以下为云上数据进行图片处理demo,其他方式demo或完整demo请参考图片持久化处理文档
const picOperations = JSON.stringify({ is_pic_info: 1, // 固定 // fileid 设置和Key相同可实现只保留处理后的图片而不保留原图 // rule 举例:设置绝对质量为60 rules: [{ fileid: 'desample_photo.jpg', rule: 'imageMogr2/quality/60' }], });// 对云上数据进行图片处理cos.request( { Bucket: 'examplebucket-1250000000', // Bucket 格式:test-1250000000,必填 Region: 'COS_REGION', // Bucket所在地域,比如ap-beijing,必填 Key: '1.jpg', // 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必填 Method: 'POST', // 固定值 Action: 'image_process', // 固定值 Headers: { 'Pic-Operations': picOperations, }, }, function (err, data) { console.log(err || data); },);

高斯模糊

功能说明

腾讯云数据万象通过 imageMogr2 接口对图片进行模糊处理。

代码示例

// 以下为云上数据进行图片处理demo,其他方式demo或完整demo请参考图片持久化处理文档
const picOperations = JSON.stringify({ is_pic_info: 1, // 固定 // fileid 设置和Key相同可实现只保留处理后的图片而不保留原图 // rule 举例:imageMogr2/blur/8x5 rules: [{ fileid: 'desample_photo.jpg', rule: 'imageMogr2/blur/8x5' }], });// 对云上数据进行图片处理cos.request( { Bucket: 'examplebucket-1250000000', // Bucket 格式:test-1250000000,必填 Region: 'COS_REGION', // Bucket所在地域,比如ap-beijing,必填 Key: '1.jpg', // 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必填 Method: 'POST', // 固定值 Action: 'image_process', // 固定值 Headers: { 'Pic-Operations': picOperations, }, }, function (err, data) { console.log(err || data); },);

亮度

功能说明

腾讯云数据万象通过 imageMogr2 接口调节图片亮度。

代码示例

// 以下为云上数据进行图片处理demo,其他方式demo或完整demo请参考图片持久化处理文档
const picOperations = JSON.stringify({ is_pic_info: 1, // 固定 // fileid 设置和Key相同可实现只保留处理后的图片而不保留原图 // rule 举例:将图片亮度提高70 rules: [{ fileid: 'desample_photo.jpg', rule: 'imageMogr2/bright/70' }], });// 对云上数据进行图片处理cos.request( { Bucket: 'examplebucket-1250000000', // Bucket 格式:test-1250000000,必填 Region: 'COS_REGION', // Bucket所在地域,比如ap-beijing,必填 Key: '1.jpg', // 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必填 Method: 'POST', // 固定值 Action: 'image_process', // 固定值 Headers: { 'Pic-Operations': picOperations, }, }, function (err, data) { console.log(err || data); },);

对比度

功能说明

对比度指一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量,即指一幅图像灰度反差的大小。腾讯云数据万象通过 imageMogr2 接口调节图片对比度。

代码示例

// 以下为云上数据进行图片处理demo,其他方式demo或完整demo请参考图片持久化处理文档
const picOperations = JSON.stringify({ is_pic_info: 1, // 固定 // fileid 设置和Key相同可实现只保留处理后的图片而不保留原图 // rule 举例:将图片对比度降低50 rules: [{ fileid: 'desample_photo.jpg', rule: 'imageMogr2/contrast/-50' }], });// 对云上数据进行图片处理cos.request( { Bucket: 'examplebucket-1250000000', // Bucket 格式:test-1250000000,必填 Region: 'COS_REGION', // Bucket所在地域,比如ap-beijing,必填 Key: '1.jpg', // 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必填 Method: 'POST', // 固定值 Action: 'image_process', // 固定值 Headers: { 'Pic-Operations': picOperations, }, }, function (err, data) { console.log(err || data); },);

锐化

功能说明

腾讯云数据万象通过 imageMogr2 接口对图片进行锐化处理。

代码示例

// 以下为云上数据进行图片处理demo,其他方式demo或完整demo请参考图片持久化处理文档
const picOperations = JSON.stringify({ is_pic_info: 1, // 固定 // fileid 设置和Key相同可实现只保留处理后的图片而不保留原图 // rule 举例:设置锐化参数为70,进行锐化处理 rules: [{ fileid: 'desample_photo.jpg', rule: 'imageMogr2/sharpen/70' }], });// 对云上数据进行图片处理cos.request( { Bucket: 'examplebucket-1250000000', // Bucket 格式:test-1250000000,必填 Region: 'COS_REGION', // Bucket所在地域,比如ap-beijing,必填 Key: '1.jpg', // 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必填 Method: 'POST', // 固定值 Action: 'image_process', // 固定值 Headers: { 'Pic-Operations': picOperations, }, }, function (err, data) { console.log(err || data); },);

灰度图

功能说明

对象存储通过数据万象 imageMogr2/grayscale 接口将图片设置为灰度图。

代码示例

// 以下为云上数据进行图片处理demo,其他方式demo或完整demo请参考图片持久化处理文档
const picOperations = JSON.stringify({ is_pic_info: 1, // 固定 // fileid 设置和Key相同可实现只保留处理后的图片而不保留原图 // rule 举例:将图片变为灰度图 rules: [{ fileid: 'desample_photo.jpg', rule: 'imageMogr2/grayscale/1' }], });// 对云上数据进行图片处理cos.request( { Bucket: 'examplebucket-1250000000', // Bucket 格式:test-1250000000,必填 Region: 'COS_REGION', // Bucket所在地域,比如ap-beijing,必填 Key: '1.jpg', // 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必填 Method: 'POST', // 固定值 Action: 'image_process', // 固定值 Headers: { 'Pic-Operations': picOperations, }, }, function (err, data) { console.log(err || data); },);

图片水印

功能说明

对象存储通过数据万象 watermark 接口提供图片水印处理功能。目前水印图片必须指定为已存储于数据万象绑定(或新建)的存储桶中的图片。关于图片水印等图片基础处理的限制说明,请参见 规则与限制

代码示例

// 以下为云上数据进行图片处理demo,其他方式demo或完整demo请参考图片持久化处理文档
// 水印图url示例const imgUrl = 'http://examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/shuiyin_2.png';// 经过安全base64编码 使用 COS.util.encodeBase64 方法需要sdk版本至少为1.4.19const imgUrlBase64 = COS.util.encodeBase64(imgUrl, true);// 生成一个在右下角的图片水印const waterMarkRule = `watermark/1/image/${imgUrlBase64}/gravity/southeast`;const picOperations = JSON.stringify({ is_pic_info: 1, // 固定 // fileid 设置和Key相同可实现只保留处理后的图片而不保留原图 rules: [{ fileid: 'desample_photo.jpg', rule: waterMarkRule }], });// 对云上数据进行图片处理cos.request( { Bucket: 'examplebucket-1250000000', // Bucket 格式:test-1250000000,必填 Region: 'COS_REGION', // Bucket所在地域,比如ap-beijing,必填 Key: '1.jpg', // 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必填 Method: 'POST', // 固定值 Action: 'image_process', // 固定值 Headers: { 'Pic-Operations': picOperations, }, }, function (err, data) { console.log(err || data); },);

注意指定的水印图片必须同时满足如下3个条件:水印图片与源图片必须位于同一个存储桶下。URL 需使用 COS 域名(不能使用 CDN 加速域名,例如 examplebucket-1250000000.file.myqcloud.com/shuiyin_2.png 不可用 ),且需保证水印图可访问(如果水印图读取权限为私有,则需要携带有效签名)。URL 必须以 http:// 开始,不能省略 HTTP 头,也不能填 HTTPS 头,例如 examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/shuiyin_2.pnghttps://examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/shuiyin_2.png 为非法的水印 URL。

文字水印

功能说明

对象存储通过数据万象 watermark 接口提供实时文字水印处理功能。处理图片原图大小不超过32MB、宽高不超过30000像素且总像素不超过2.5亿像素,处理结果图宽高设置不超过9999像素;针对动图,原图宽 x 高 x 帧数不超过2.5亿像素。

代码示例

// 以下为云上数据进行图片处理demo,其他方式demo或完整demo请参考图片持久化处理文档
// 文字水印示例const text = '腾讯云万象优图';const color = '#3D3D3D';// 经过安全base64编码 使用 COS.util.encodeBase64 方法需要sdk版本至少为1.4.19const textBase64 = COS.util.encodeBase64(text, true);const colorBase64 = COS.util.encodeBase64(color, true);// 生成一个文字水印const waterMarkRule = `watermark/2/text/${textBase64}/fill/${colorBase64}/fontsize/20/dissolve/50/gravity/northeast/dx/20/dy/20/batch/1/degree/45`;const picOperations = JSON.stringify({ is_pic_info: 1, // 固定 // fileid 设置和Key相同可实现只保留处理后的图片而不保留原图 rules: [{ fileid: 'desample_photo.jpg', rule: waterMarkRule }], });// 对云上数据进行图片处理cos.request( { Bucket: 'examplebucket-1250000000', // Bucket 格式:test-1250000000,必填 Region: 'COS_REGION', // Bucket所在地域,比如ap-beijing,必填 Key: '1.jpg', // 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必填 Method: 'POST', // 固定值 Action: 'image_process', // 固定值 Headers: { 'Pic-Operations': picOperations, }, }, function (err, data) { console.log(err || data); },);

获取图片基本信息

功能说明

对象存储通过数据万象 imageInfo 接口查询图片基本信息,包括格式、长、宽等。

代码示例

cos.request(  {    Bucket: 'examplebucket-1250000000', // Bucket 格式:test-1250000000,必填    Region: 'COS_REGION', // Bucket所在地域,比如ap-beijing,必填    Key: '1.jpg', // 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必填    Method: 'GET', // 固定值    Action: 'imageInfo', // 固定值    RawBody: true,  // 固定值  },  function (err, data) {    if (data) {      const imgInfo = JSON.parse(data.Body);      console.log(imgInfo);    }  },);

获取图片 EXIF

功能说明

EXIF(Exchangeable Image File)全称为可交换图像文件,可记录数码照片的拍摄参数、缩略图及其他属性信息。对象存储通过数据万象的 exif 接口获取 EXIF 信息。处理图片原图大小不超过32MB、宽高不超过30000像素且总像素不超过2.5亿像素,处理结果图宽高设置不超过9999像素;针对动图,原图宽 x 高 x 帧数不超过2.5亿像素。

代码示例

cos.request(  {    Bucket: 'examplebucket-1250000000', // Bucket 格式:test-1250000000,必填    Region: 'COS_REGION', // Bucket所在地域,比如ap-beijing,必填    Key: '1.jpg', // 存储在桶里的对象键(例如1.jpg,a/b/test.txt),必填    Method: 'GET', // 固定值    Action: 'exif', // 固定值    RawBody: true,  // 固定值  },  function (err, data) {    if (data) {      const imgInfo = JSON.parse(data.Body);      console.log(imgInfo);    }  },);



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

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

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

相关推荐

  • 腾讯云云点播第三方播放器插件合规使用指南

    为帮助使用第三方播放器插件的开发运营者(以下简称“您”)在符合个人信息保护相关法律法规、政策及标准的规定下合规接入、使用第三方 SDK, 腾讯云 (以下简称”我们”)特制定《第三方播放器插件合规使用指南》(以下简称“文档”),便于您使用第三方播放器插件过程中符合相应的合规要求。请您在接入、使用第三方播放器插件前,充分阅读和了解本文档内…

    腾讯云 2023年12月9日
  • 文字识别OCR身份证识别接口,如果上传的不是身份证,接口要10多秒才返回异常信息,耗时太长如何处理?-云小二-阿里云

    文字识别OCR身份证识别(com.aliyun.ocr_api20210707.models.RecognizeIdcardRequest)接口 如果上传的不是身份证,接口要10多秒才返回异常信息(com.aliyun.tea.TeaException: code: 400, The image type does not match the API ope…

    2023年12月20日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 腾讯云云直播推流播放相关

    直播的在线人数是否有上限? 腾讯云直播默认不限制观看直播的在线人数,只要网络等条件允许都可以观看直播。如果用户配置了带宽限制,当观看人数过多、超出了限制带宽时新的用户无法观看,此情况下在线人数是有限制的。 如何使用播放转码? 考虑到不同的网络因素,满足您使用不同码率不同分辨率的需求,您可以前往 转码配置 设置不同码率不同分辨率的转码模板,更多转码相关信息请参…

    腾讯云 2023年12月9日
  • 腾讯云TDSQL-C MySQL版库表恢复:按备份集

    若要恢复的时间点不确定,可以按照备份集进行数据恢复,这种方式可以将数据库恢复到某个特定的状态,且恢复速度较快。 前提条件 备份列表由数据备份文件产生,自动备份设置请参见 自动备份。集群状态处于运行中。 注意事项 库表回档需明确指定所需回档的库表,若无法确定所有涉及的库表,建议 克隆 回档到一个新集群确认后再迁移回原集群。若需回档的库表在指定回档的时间点不存在…

    2023年12月9日
  • 腾讯云对象存储升级到 XML Android SDK

    如果您细心对比过 JSON Android SDK 和 XML Android SDK 的文档,您会发现并不是一个简单的增量更新。XML Android SDK 不仅在架构、可用性和安全性上有了非常大的提升,而且在易用性、健壮性和传输性能上也做了非常大的改进。如果您想要升级到 XML Android SDK,请参考下面的指引,一步步完成 SDK 的升级工作。…

    腾讯云 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

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