腾讯云对象存储(Cloud Object Storage,COS)集成了 数据万象(Cloud Infinite,CI)专业的一体化多媒体解决方案,涵盖以下图片处理功能,详情可见 图片处理概述。
服务 | 功能 | 说明 |
---|---|---|
基础图片处理服务 | 缩放 | 等比缩放、设定目标宽高缩放等多种方式 |
裁剪 | 普通裁剪、缩放裁剪、内切圆、人脸智能裁剪 | |
旋转 | 自适应旋转、普通旋转 | |
格式转换 | 格式转换、GIF 格式优化、渐进显示 | |
质量变换 | 针对 JPG 和 WEBP 图片进行质量变换 | |
高斯模糊 | 对图片进行模糊处理 | |
锐化 | 对图片进行锐化处理 | |
添加水印 | 图片水印、文字水印 | |
获取图片信息 | 基本信息、EXIF 信息、主色调 | |
去除元信息 | 包括 EXIF 信息 | |
快速缩略模板 | 快速实现图片格式转换、缩略、剪裁等功能,生成缩略图 |
SDK 所有接口的具体参数与方法说明,请参考 SDK API 参考。
String bucket = "examplebucket-1250000000"; //存储桶名称,格式:BucketName-APPID
String cosPath = "exampleobject"; //对象位于存储桶中的位置标识符,即对象键
String savePath = context.getExternalCacheDir().toString(); //本地路径
GetObjectRequest getObjectRequest = new GetObjectRequest(bucket, cosPath,
savePath);
getObjectRequest.addQuery("imageMogr2/thumbnail/!50p", null);
cosXmlService.getObjectAsync(getObjectRequest, new CosXmlResultListener() {
@Override
public void onSuccess(CosXmlRequest cosXmlRequest,
CosXmlResult cosXmlResult) {
GetObjectResult getObjectResult = (GetObjectResult) cosXmlResult;
}
// 如果您使用 kotlin 语言来调用,请注意回调方法中的异常是可空的,否则不会回调 onFail 方法,即:
// clientException 的类型为 CosXmlClientException?,serviceException 的类型为 CosXmlServiceException?
@Override
public void onFail(CosXmlRequest cosXmlRequest,
@Nullable CosXmlClientException clientException,
@Nullable CosXmlServiceException serviceException) {
if (clientException != null) {
clientException.printStackTrace();
} else {
serviceException.printStackTrace();
}
}
});
说明:更多完整示例,请前往 GitHub 查看。
下面示例展示了如何在对已存储在 COS 的图片进行相应处理操作,并将结果存入到 COS。
String bucket = "examplebucket-1250000000"; //存储桶名称,格式:BucketName-APPID
String cosPath = "exampleobject"; //对象位于存储桶中的位置标识符,即对象键
String savePath = context.getExternalCacheDir().toString(); //本地路径
GetObjectRequest getObjectRequest = new GetObjectRequest(bucket, cosPath,
savePath);
getObjectRequest.addQuery("imageMogr2/iradius/150", null);
cosXmlService.getObjectAsync(getObjectRequest, new CosXmlResultListener() {
@Override
public void onSuccess(CosXmlRequest cosXmlRequest,
CosXmlResult cosXmlResult) {
GetObjectResult getObjectResult = (GetObjectResult) cosXmlResult;
}
// 如果您使用 kotlin 语言来调用,请注意回调方法中的异常是可空的,否则不会回调 onFail 方法,即:
// clientException 的类型为 CosXmlClientException?,serviceException 的类型为 CosXmlServiceException?
@Override
public void onFail(CosXmlRequest cosXmlRequest,
@Nullable CosXmlClientException clientException,
@Nullable CosXmlServiceException serviceException) {
if (clientException != null) {
clientException.printStackTrace();
} else {
serviceException.printStackTrace();
}
}
});
说明:更多完整示例,请前往 GitHub 查看。
下面示例展示了如何在对已存储在 COS 的图片在下载时进行处理操作。
String bucket = "examplebucket-1250000000"; //存储桶名称,格式:BucketName-APPID
String cosPath = "exampleobject"; //对象位于存储桶中的位置标识符,即对象键
String savePath = context.getExternalCacheDir().toString(); //本地路径
GetObjectRequest getObjectRequest = new GetObjectRequest(bucket, cosPath,
savePath);
getObjectRequest.addQuery("imageMogr2/rotate/90", null);
cosXmlService.getObjectAsync(getObjectRequest, new CosXmlResultListener() {
@Override
public void onSuccess(CosXmlRequest cosXmlRequest,
CosXmlResult cosXmlResult) {
GetObjectResult getObjectResult = (GetObjectResult) cosXmlResult;
}
// 如果您使用 kotlin 语言来调用,请注意回调方法中的异常是可空的,否则不会回调 onFail 方法,即:
// clientException 的类型为 CosXmlClientException?,serviceException 的类型为 CosXmlServiceException?
@Override
public void onFail(CosXmlRequest cosXmlRequest,
@Nullable CosXmlClientException clientException,
@Nullable CosXmlServiceException serviceException) {
if (clientException != null) {
clientException.printStackTrace();
} else {
serviceException.printStackTrace();
}
}
});
说明:更多完整示例,请前往 GitHub 查看。
本页内容是否解决了您的问题?