API 文档

SDK 文档

数据库文档捉虫大赛邀您参加,好礼多多> HOT

简介

腾讯云对象存储(Cloud Object Storage,COS)集成了 数据万象(Cloud Infinite,CI)专业的一体化多媒体解决方案,涵盖以下图片处理功能,详情可见 图片处理概述
功能
说明
等比缩放、设定目标宽高缩放等多种方式
普通裁剪、缩放裁剪、内切圆、人脸智能裁剪
自适应旋转、普通旋转
格式转换、GIF 格式优化、渐进显示
针对 JPG 和 WEBP 图片进行质量变换
对图片进行模糊处理
调节图片亮度
调节图片对比度
对图片进行锐化处理
将图片设置为灰度图
提供图片水印处理功能
提供文字水印处理功能
查询图片基本信息,包括格式、长、宽等
获取 EXIF 信息
获取图片主色调信息
可去除图片元信息,包括 exif 信息
快速实现图片格式转换、缩略、剪裁等功能,生成缩略图
可限制图片处理(例如缩放、压缩等)后的文件大小
实现对图片按顺序进行多种处理

缩放

功能说明

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

代码示例

<?php

require dirname(__FILE__, 2) . '/vendor/autoload.php';

$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
$cosClient = new Qcloud\\Cos\\Client(
array(
'region' => $region,
'schema' => 'https', //协议头部,默认为 http
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));
try {
// 图片处理-缩放 https://cloud.tencent.com/document/product/460/36540
$imageRule = new Qcloud\\Cos\\ImageParamTemplate\\ImageMogrTemplate();
$imageRule->thumbnailByScale(50); // /thumbnail/!<Scale>p
$imageRule->thumbnailByWidthScale(50); // /thumbnail/!<Scale>px
$imageRule->thumbnailByHeightScale(50); // /thumbnail/!x<Scale>p
$imageRule->thumbnailByWidth(60); // /thumbnail/<Width>x
$imageRule->thumbnailByHeight(60); // /thumbnail/x<Height>
$imageRule->thumbnailByMaxWH(100, 100); // /thumbnail/<Width>x<Height>
$imageRule->thumbnailByMinWH(30, 30); // /thumbnail/!<Width>x<Height>r
$imageRule->thumbnailByWH(50, 50); // /thumbnail/<Width>x<Height>!
$imageRule->thumbnailByPixel(10000); // /thumbnail/<Area>@
$imageRule->thumbnailEqualRatioReduceByWH(300, 300); // /thumbnail/<Width>x<Height>>
$imageRule->thumbnailEqualRatioEnlargeByWH(300, 300); // /thumbnail/<Width>x<Height><
$imageRule->pad(1); // /pad/1
$imageRule->color('#3D3D3D'); // /color/IzNEM0QzRA
$imageRule->ignoreError(); // /ignore-error/1

$picOperations = new Qcloud\\Cos\\ImageParamTemplate\\PicOperationsTransformation();
$picOperations->setIsPicInfo(1); // is_pic_info
$picOperations->addRule($imageRule, "output.png"); // rules

// -------------------- 1. 下载时处理 -------------------- //
// $downloadUrl = $cosClient->getObjectUrl('examplebucket-1250000000', 'xxx.jpg'); // 获取下载链接
$downloadUrl = 'https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/xxx.jpg'; // 私有图片处理方式同上,仅增加签名部分,并与图片处理参数以“&”连接
$rule = $imageRule->queryString();
echo "{$downloadUrl}?{$rule}";
// echo "{$downloadUrl}&{$rule}"; // 携带签名的图片地址以“&”连接
// -------------------- 1. 下载时处理 -------------------- //

// -------------------- 2. 上传时处理 -------------------- //
$result = $cosClient->putObject(array(
'Bucket' => 'examplebucket-1250000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket
'Key' => 'object.jpg',
'Body' => fopen('/tmp/local.jpg', 'rb'), // 本地文件
'PicOperations' => $picOperations->queryString(),
));
// 请求成功
print_r($result);
// -------------------- 2. 上传时处理 -------------------- //

// -------------------- 3. 云上数据处理 -------------------- //
$result = $cosClient->ImageProcess(array(
'Bucket' => 'examplebucket-1250000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket
'Key' => 'test.png',
'PicOperations' => $picOperations->queryString(),
));
// 请求成功
print_r($result);
// -------------------- 3. 云上数据处理 -------------------- //
} catch (\\Exception $e) {
// 请求失败
echo($e);
}

处理参数说明

操作名称:thumbnail。
参数
含义
ObjectKey
对象文件名,例如 folder/sample.jpg。
/thumbnail/!<Scale>p
指定图片的宽高为原图的 Scale%
/thumbnail/!<Scale>px
指定图片的宽为原图的 Scale%,高度不变
/thumbnail/!x<Scale>p
指定图片的高为原图的 Scale%,宽度不变
/thumbnail/<Width>x
指定目标图片宽度为 Width,高度等比缩放
/thumbnail/x<Height>
指定目标图片高度为 Height,宽度等比缩放
/thumbnail/<Width>x<Height>
限定缩略图的宽度和高度的最大值分别为 Width 和 Height,进行等比缩放
/thumbnail/<Width>x<Height>>
限定缩略图的宽度和高度的最大值分别为 Width 和 Height,进行等比缩小,比例值为宽缩放比和高缩放比的较小值,如果目标宽(高)都大于原图宽(高),则不变
/thumbnail/<Width>x<Height><
限定缩略图的宽度和高度的最大值分别为 Width 和 Height,进行等比放大,比例值为宽缩放比和高缩放比的较小值。如果目标宽(高)小于原图宽(高),则不变
/thumbnail/!<Width>x<Height>r
限定缩略图的宽度和高度的最小值分别为 Width 和 Height,进行等比缩放
/thumbnail/<Width>x<Height>!
忽略原图宽高比例,指定图片宽度为 Width,高度为 Height,强行缩放图片,可能导致目标图片变形
/thumbnail/<Area>@
等比缩放图片,缩放后的图像,总像素数量不超过 Area
/pad/
将原图缩放为指定 Width 和 Height 的矩形内的最大图片,之后使用 color 参数指定的颜色居中填充空白部分;取值0或1,0代表不使用 pad 模式,1代表使用 pad 模式
/color/
填充颜色,缺省为白色,需设置为十六进制 RGB 格式(如 #FF0000),详情参见 RGB 编码表,需经过 URL 安全的 Base64 编码,默认值为 #FFFFFF
/ignore-error/1
当处理参数中携带此参数时,针对文件过大、参数超限等导致处理失败的场景,会直接返回原图而不报错

裁剪

功能说明

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

代码示例

<?php

require dirname(__FILE__, 2) . '/vendor/autoload.php';

$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
$cosClient = new Qcloud\\Cos\\Client(
array(
'region' => $region,
'schema' => 'https', //协议头部,默认为 http
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));
try {
// 图片处理-裁剪 https://cloud.tencent.com/document/product/460/36541
$imageRule = new Qcloud\\Cos\\ImageParamTemplate\\ImageMogrTemplate();
$imageRule->cut(400, 400, 100, 100); // 普通裁剪参数 /cut/<width>x<height>x<dx>x<dy>
$imageRule->cropByWidth(400, 'center'); // 缩放裁剪参数 /crop/<Width>x
$imageRule->cropByHeight(400, 'center'); // 缩放裁剪参数 /crop/x<Height>
$imageRule->cropByWH(400, 400, 'center'); // 缩放裁剪参数 /crop/<Width>x<Height>
$imageRule->iradius(30); // 内切圆裁剪参数 /iradius/<radius>
$imageRule->rradius(30); // 圆角裁剪参数 /rradius/<radius>
$imageRule->scrop(30, 30); // 人脸智能裁剪参数 /scrop/<Width>x<Height>
$imageRule->ignoreError(); // /ignore-error/1

$picOperations = new Qcloud\\Cos\\ImageParamTemplate\\PicOperationsTransformation();
$picOperations->setIsPicInfo(1); // is_pic_info
$picOperations->addRule($imageRule, "output.png"); // rules

// -------------------- 1. 下载时处理 -------------------- //
// $downloadUrl = $cosClient->getObjectUrl('examplebucket-1250000000', 'xxx.jpg'); // 获取下载链接
$downloadUrl = 'https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/xxx.jpg'; // 私有图片处理方式同上,仅增加签名部分,并与图片处理参数以“&”连接
$rule = $imageRule->queryString();
echo "{$downloadUrl}?{$rule}";
// echo "{$downloadUrl}&{$rule}"; // 携带签名的图片地址以“&”连接
// -------------------- 1. 下载时处理 -------------------- //

// -------------------- 2. 上传时处理 -------------------- //
$result = $cosClient->putObject(array(
'Bucket' => 'examplebucket-1250000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket
'Key' => 'object.jpg',
'Body' => fopen('/tmp/local.jpg', 'rb'), // 本地文件
'PicOperations' => $picOperations->queryString(),
));
// 请求成功
print_r($result);
// -------------------- 2. 上传时处理 -------------------- //

// -------------------- 3. 云上数据处理 -------------------- //
$result = $cosClient->ImageProcess(array(
'Bucket' => 'examplebucket-1250000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket
'Key' => 'test.png',
'PicOperations' => $picOperations->queryString(),
));
// 请求成功
print_r($result);
// -------------------- 3. 云上数据处理 -------------------- //
} catch (\\Exception $e) {
// 请求失败
echo($e);
}

处理参数说明

参数
含义
/ignore-error/1
当处理参数中携带此参数时,针对文件过大、参数超限等导致处理失败的场景,会直接返回原图而不报错
普通裁剪参数说明
操作名称:cut。
参数
含义
<width>
指定目标图片的宽为 width
<height>
指定目标图片的高为 height
<dx>
相对于图片左上顶点水平向右偏移 dx
<dy>
相对于图片左上顶点水平向下偏移 dy
说明
参数取值范围应大于0,小于原图宽高。
缩放裁剪参数说明
操作名称:crop。
参数
含义
/crop/<Width>x
指定目标图片宽度为 Width,高度不变。Width 取值范围应大于0,小于原图宽度
/crop/x<Height>
指定目标图片高度为 Height,宽度不变。Height 取值范围应大于0,小于原图高度
/crop/<Width>x<Height>
指定目标图片宽度为 Width,高度为 Height 。Width 和 Height 取值范围都应大于0,小于原图宽度/高度
在进行缩放裁剪操作时,您也可以使用 gravity 参数指定操作的起点位置,详情请参见下文中 缩放裁剪操作示例
内切圆裁剪参数说明
操作名称:iradius。
参数
含义
/iradius/<radius>
内切圆裁剪功能,radius 是内切圆的半径,取值范围为大于0且小于原图最小边一半的整数。内切圆的圆心为图片的中心。图片格式为 gif 时,不支持该参数。
圆角裁剪参数说明
操作名称:rradius。
参数
含义
/rradius/<radius>
圆角裁剪功能,radius 为图片圆角边缘的半径,取值范围为大于0且小于原图最小边一半的整数。圆角与原图边缘相切。图片格式为 gif 时,不支持该参数。
人脸智能裁剪参数说明
操作名称:scrop。
参数
含义
/scrop/<Width>x<Height>
基于图片中的人脸位置进行缩放裁剪。目标图片的宽度为 Width、高度为 Height。

旋转

功能说明

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

代码示例

<?php

require dirname(__FILE__, 2) . '/vendor/autoload.php';

$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
$cosClient = new Qcloud\\Cos\\Client(
array(
'region' => $region,
'schema' => 'https', //协议头部,默认为 http
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));
try {
// 图片处理-旋转 https://cloud.tencent.com/document/product/460/36542
$imageRule = new Qcloud\\Cos\\ImageParamTemplate\\ImageMogrTemplate();
$imageRule->rotate(90); // /rotate/<rotateDegree>
$imageRule->autoOrient(); // /auto-orient
$imageRule->flip('vertical'); // /flip/<flip>
$imageRule->ignoreError(); // /ignore-error/1

$picOperations = new Qcloud\\Cos\\ImageParamTemplate\\PicOperationsTransformation();
$picOperations->setIsPicInfo(1); // is_pic_info
$picOperations->addRule($imageRule, "output.png"); // rules

// -------------------- 1. 下载时处理 -------------------- //
// $downloadUrl = $cosClient->getObjectUrl('examplebucket-1250000000', 'xxx.jpg'); // 获取下载链接
$downloadUrl = 'https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/xxx.jpg'; // 私有图片处理方式同上,仅增加签名部分,并与图片处理参数以“&”连接
$rule = $imageRule->queryString();
echo "{$downloadUrl}?{$rule}";
// echo "{$downloadUrl}&{$rule}"; // 携带签名的图片地址以“&”连接
// -------------------- 1. 下载时处理 -------------------- //

// -------------------- 2. 上传时处理 -------------------- //
$result = $cosClient->putObject(array(
'Bucket' => 'examplebucket-1250000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket
'Key' => 'object.jpg',
'Body' => fopen('/tmp/local.jpg', 'rb'), // 本地文件
'PicOperations' => $picOperations->queryString(),
));
// 请求成功
print_r($result);
// -------------------- 2. 上传时处理 -------------------- //

// -------------------- 3. 云上数据处理 -------------------- //
$result = $cosClient->ImageProcess(array(
'Bucket' => 'examplebucket-1250000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket
'Key' => 'test.png',
'PicOperations' => $picOperations->queryString(),
));
// 请求成功
print_r($result);
// -------------------- 3. 云上数据处理 -------------------- //
} catch (\\Exception $e) {
// 请求失败
echo($e);
}

处理参数说明

参数
含义
/rotate/<rotateDegree>
普通旋转:图片顺时针旋转角度,取值范围0 - 360,默认不旋转。
/auto-orient
自适应旋转:根据原图 EXIF 信息将图片自适应旋转回正。
/flip/<flip>
镜像翻转:flip 值为 vertical 表示垂直翻转,horizontal 表示水平翻转
/ignore-error/1
当处理参数中携带此参数时,针对文件过大、参数超限等导致处理失败的场景,会直接返回原图而不报错

格式转换

功能说明

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

代码示例

<?php

require dirname(__FILE__, 2) . '/vendor/autoload.php';

$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
$cosClient = new Qcloud\\Cos\\Client(
array(
'region' => $region,
'schema' => 'https', //协议头部,默认为 http
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));
try {
// 图片处理-格式转换 https://cloud.tencent.com/document/product/460/36543
$imageRule = new Qcloud\\Cos\\ImageParamTemplate\\ImageMogrTemplate();
$imageRule->format('jpg'); // 格式转换 /format/<Format>
$imageRule->gifOptimization(1); // gif 格式优化 /cgif/<FrameNumber>
$imageRule->jpegInterlaceMode(1); // 输出为渐进式 jpg 格式。Mode 可为0或1 /interlace/<Mode>
$imageRule->ignoreError(); // /ignore-error/1

$picOperations = new Qcloud\\Cos\\ImageParamTemplate\\PicOperationsTransformation();
$picOperations->setIsPicInfo(1); // is_pic_info
$picOperations->addRule($imageRule, "output.png"); // rules

// -------------------- 1. 下载时处理 -------------------- //
// $downloadUrl = $cosClient->getObjectUrl('examplebucket-1250000000', 'xxx.jpg'); // 获取下载链接
$downloadUrl = 'https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/xxx.jpg'; // 私有图片处理方式同上,仅增加签名部分,并与图片处理参数以“&”连接
$rule = $imageRule->queryString();
echo "{$downloadUrl}?{$rule}";
// echo "{$downloadUrl}&{$rule}"; // 携带签名的图片地址以“&”连接
// -------------------- 1. 下载时处理 -------------------- //

// -------------------- 2. 上传时处理 -------------------- //
$result = $cosClient->putObject(array(
'Bucket' => 'examplebucket-1250000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket
'Key' => 'object.jpg',
'Body' => fopen('/tmp/local.jpg', 'rb'), // 本地文件
'PicOperations' => $picOperations->queryString(),
));
// 请求成功
print_r($result);
// -------------------- 2. 上传时处理 -------------------- //

// -------------------- 3. 云上数据处理 -------------------- //
$result = $cosClient->ImageProcess(array(
'Bucket' => 'examplebucket-1250000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket
'Key' => 'test.png',
'PicOperations' => $picOperations->queryString(),
));
// 请求成功
print_r($result);
// -------------------- 3. 云上数据处理 -------------------- //
} catch (\\Exception $e) {
// 请求失败
echo($e);
}

处理参数说明

参数
含义
/format/<Format>
格式转换:目标缩略图的图片格式可为:jpg,bmp,gif,png,webp,yjpeg 等,其中 yjpeg 为数据万象针对 jpeg 格式进行的优化,本质为 jpg 格式;缺省为原图格式。
/cgif/<FrameNumber>
gif 格式优化:只针对原图为 gif 格式,对 gif 图片格式进行的优化,降帧降颜色。分为以下两种情况:FrameNumber=1,则按照默认帧数30处理,如果图片帧数大于该帧数则截取。FrameNumber 取值( 1,100 ],则将图片压缩到指定帧数 (FrameNumber)。
/interlace/<Mode>
输出为渐进式 jpg 格式。Mode 可为0或1。0:表示不开启渐进式;1:表示开启渐进式。该参数仅在输出图片格式为 jpg 格式时有效。如果输出非 jpg 图片格式,会忽略该参数,默认值0。
/ignore-error/1
当处理参数中携带此参数时,针对文件过大、参数超限等导致处理失败的场景,会直接返回原图而不报错

质量变换

功能说明

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

代码示例

<?php

require dirname(__FILE__, 2) . '/vendor/autoload.php';

$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
$cosClient = new Qcloud\\Cos\\Client(
array(
'region' => $region,
'schema' => 'https', //协议头部,默认为 http
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));
try {
// 图片处理-质量变换 https://cloud.tencent.com/document/product/460/36544
$imageRule = new Qcloud\\Cos\\ImageParamTemplate\\ImageMogrTemplate();
$imageRule->quality(90, 1); // 绝对质量 /quality/<Quality>
$imageRule->lowestQuality(90); // 最低质量 /lquality/<quality>
$imageRule->relativelyQuality(90); // 相对质量 /rquality/<quality>
$imageRule->ignoreError(); // /ignore-error/1

$picOperations = new Qcloud\\Cos\\ImageParamTemplate\\PicOperationsTransformation();
$picOperations->setIsPicInfo(1); // is_pic_info
$picOperations->addRule($imageRule, "output.png"); // rules

// -------------------- 1. 下载时处理 -------------------- //
// $downloadUrl = $cosClient->getObjectUrl('examplebucket-1250000000', 'xxx.jpg'); // 获取下载链接
$downloadUrl = 'https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/xxx.jpg'; // 私有图片处理方式同上,仅增加签名部分,并与图片处理参数以“&”连接
$rule = $imageRule->queryString();
echo "{$downloadUrl}?{$rule}";
// echo "{$downloadUrl}&{$rule}"; // 携带签名的图片地址以“&”连接
// -------------------- 1. 下载时处理 -------------------- //

// -------------------- 2. 上传时处理 -------------------- //
$result = $cosClient->putObject(array(
'Bucket' => 'examplebucket-1250000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket
'Key' => 'object.jpg',
'Body' => fopen('/tmp/local.jpg', 'rb'), // 本地文件
'PicOperations' => $picOperations->queryString(),
));
// 请求成功
print_r($result);
// -------------------- 2. 上传时处理 -------------------- //

// -------------------- 3. 云上数据处理 -------------------- //
$result = $cosClient->ImageProcess(array(
'Bucket' => 'examplebucket-1250000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket
'Key' => 'test.png',
'PicOperations' => $picOperations->queryString(),
));
// 请求成功
print_r($result);
// -------------------- 3. 云上数据处理 -------------------- //
} catch (\\Exception $e) {
// 请求失败
echo($e);
}

处理参数说明

操作名称:quality。
参数
含义
/quality/<Quality>
图片的绝对质量,取值范围0 - 100,默认值为原图质量;取原图质量和指定质量的最小值;
后面加“!”表示强制使用指定值,例如:90!
/rquality/<quality>
图片的相对质量,取值范围0 - 100,数值以原图质量为标准。例如原图质量为80,将 rquality 设置为80后,得到处理结果图的图片质量为64(80x80%)。
/lquality/<quality>
图片的最低质量,取值范围0 - 100,设置结果图的质量参数最小值。 例如原图质量为85,将 lquality 设置为80后,处理结果图的图片质量为85。例如原图质量为60,将 lquality 设置为80后,处理结果图的图片质量会被提升至80。
/ignore-error/1
当处理参数中携带此参数时,针对文件过大、参数超限等导致处理失败的场景,会直接返回原图而不报错

高斯模糊

功能说明

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

代码示例

<?php

require dirname(__FILE__, 2) . '/vendor/autoload.php';

$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
$cosClient = new Qcloud\\Cos\\Client(
array(
'region' => $region,
'schema' => 'https', //协议头部,默认为 http
'credentials'=> array(
'secretId' => $secretId ,
'secretKey' => $secretKey)));
try {
// 图片处理-高斯模糊 https://cloud.tencent.com/document/product/460/36545
$imageRule = new Qcloud\\Cos\\ImageParamTemplate\\ImageMogrTemplate();
$imageRule->blur(8, 5); // 高斯模糊 /blur/<radius>x<sigma>
$imageRule->ignoreError(); // /ignore-error/1

$picOperations = new Qcloud\\Cos\\ImageParamTemplate\\PicOperationsTransformation();
$picOperations->setIsPicInfo(1); // is_pic_info
$picOperations->addRule($imageRule, "output.png"); // rules

// -------------------- 1. 下载时处理 -------------------- //
// $downloadUrl = $cosClient->getObjectUrl('examplebucket-1250000000', 'xxx.jpg'); // 获取下载链接
$downloadUrl = 'https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/xxx.jpg'; // 私有图片处理方式同上,仅增加签名部分,并与图片处理参数以“&”连接
$rule = $imageRule->queryString();
echo "{$downloadUrl}?{$rule}";
// echo "{$downloadUrl}&{$rule}"; // 携带签名的图片地址以“&”连接
// -------------------- 1. 下载时处理 -------------------- //

// -------------------- 2. 上传时处理 -------------------- //
$result = $cosClient->putObject(array(
'Bucket' => 'examplebucket-1250000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket
'Key' => 'object.jpg',
'Body' => fopen('/tmp/local.jpg', 'rb'), // 本地文件
'PicOperations' => $picOperations->queryString(),
));
// 请求成功
print_r($result);
// -------------------- 2. 上传时处理 -------------------- //

// -------------------- 3. 云上数据处理 -------------------- //
$result = $cosClient->ImageProcess(array(
'Bucket' => 'examplebucket-1250000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket
'Key' => 'test.png',
'PicOperations' => $picOperations->queryString(),
));
// 请求成功
print_r($result);
// -------------------- 3. 云上数据处理 -------------------- //
} catch (\\Exception $e) {
// 请求失败
echo($e);
}

处理参数说明

操作名称:blur。
参数
含义
radius<radius>
模糊半径,取值范围为1 - 50
sigma<sigma>
正态分布的标准差,必须大于0
/ignore-error/1
当处理参数中携带此参数时,针对文件过大、参数超限等导致处理失败的场景,会直接返回原图而不报错

亮度

功能说明

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

代码示例

<?php


require dirname(__FILE__, 2) . '/vendor/autoload.php';

$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
$cosClient = new Qcloud\\Cos\\Client(
array(
'region' => $region,
'schema' => 'https', //协议头部,默认为 http
'credentials' => array(
'secretId' => $secretId,
'secretKey' => $secretKey)));
try {
// 图片处理-亮度 https://cloud.tencent.com/document/product/460/51808
$imageRule = new Qcloud\\Cos\\ImageParamTemplate\\ImageMogrTemplate();
$imageRule->bright(70); // 图片亮度调节 /bright/<value>
$imageRule->ignoreError(); // /ignore-error/1

$picOperations = new Qcloud\\Cos\\ImageParamTemplate\\PicOperationsTransformation();
$picOperations->setIsPicInfo(1); // is_pic_info
$picOperations->addRule($imageRule, "output.png"); // rules

// -------------------- 1. 下载时处理 -------------------- //
// $downloadUrl = $cosClient->getObjectUrl('examplebucket-1250000000', 'xxx.jpg'); // 获取下载链接
$downloadUrl = 'https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/xxx.jpg'; // 私有图片处理方式同上,仅增加签名部分,并与图片处理参数以“&”连接
$rule = $imageRule->queryString();
echo "{$downloadUrl}?{$rule}";
// echo "{$downloadUrl}&{$rule}"; // 携带签名的图片地址以“&”连接
// -------------------- 1. 下载时处理 -------------------- //

// -------------------- 2. 上传时处理 -------------------- //
$result = $cosClient->putObject(array(
'Bucket' => 'examplebucket-1250000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS 控制台查看 https://console.cloud.tencent.com/cos5/bucket
'Key' => 'object.jpg',
'Body' => fopen('/tmp/local.jpg', 'rb'), // 本地文件
'PicOperations' => $picOperations->queryString(),
));
// 请求成功
print_r($result);
// -------------------- 2. 上传时处理 -------------------- //

// -------------------- 3. 云上数据处理 -------------------- //
$result = $cosClient->ImageProcess(array(
'Bucket' => 'examplebucket-1250000000', //存储桶名称,由 BucketName-Appid 组成,可以在 COS控制台查看 https://console.cloud.tencent.com/cos5/bucket
'Key' => 'test.png',
'PicOperations' => $picOperations->queryString(),
));
// 请求成功
print_r($result);
// -------------------- 3. 云上数据处理 -------------------- //
} catch (\\Exception $e) {
// 请求失败
echo($e);
}

处理参数说明

操作名称:bright。
参数
含义
/bright/<value>
图片亮度调节功能,value 为亮度参数值,取值范围为[-100, 100]的整数。 取值<0:降低图片亮度。取值 = 0:不调整图片亮度。取值>0:提高图片亮度。
/ignore-error/1
当处理参数中携带此参数时,针对文件过大、参数超限等导致处理失败的场景,会直接返回原图而不报错。

对比度

功能说明

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

代码示例

<?php


require dirname(__FILE__, 2) . '/vendor/autoload.php';

$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi
$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的 region 可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket
$cosClient = new Qcloud\\Cos\\Client(
array(
'region' => $region,
'schema' => 'https', //协议头部,默认为 http
'credentials' => array(
'secretId' => $secretId,
'secretKey' => $secretKey)));
try {
// 图片处理-对比度 https://cloud.tencent.com/document/product/460/51809
$imageRule = new Qcloud\\Cos\\ImageParamTemplate\\ImageMogrTemplate();
$imageRule->contrast(-70); // 图片对比度调节 /contrast/<value>
$imageRule->ignoreError(); // /ignore-error/1

$picOperations = new Qcloud\\Cos\\ImageParamTemplate\\PicOperationsTransformation();
$picOperations->setIsPicInfo(1); // is_pic_info
$picOperations->addRule($imageRule, "output.png"); // rules

// -------------------- 1. 下载时处理 -------------------- //
// $downloadUrl = $cosClient->getObjectUrl('examplebucket-1250000000', 'xxx.jpg'); // 获取下载链接
$downloadUrl = 'https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/xxx.jpg'; // 私有图片处理方式同上,仅增加签名部分,并与图片处理参数以“&”连接
$rule = $imageRule->queryString();
echo "{$downloadUrl}?{$rule}";
// echo "{$downloadUrl}&{$rule}"; // 携带签名的图片地址以“&”连接
// -------------------- 1. 下载时处理 -------------------- //

// -------------------- 2. 上传时处理 -------------------- //
$result =