简介
API | 操作描述 |
对本地图片添加或提取盲水印并上传至存储桶 |
上传时处理
功能说明
在上传图片时,同步为该图片添加盲水印并存储或者同步提取该图片中的盲水印,并将提取出的水印图转存。
方法原型
def ci_put_object_from_local_file(self, Bucket, LocalFilePath, Key, EnableMD5=False, **kwargs)
请求示例
# 添加盲水印watermark_url = 'http://{bucket}.cos.{region}.myqcloud.com/watermark.png'.format(bucket='examplebucket-1250000000', region=region)watermark_url_base64 = bytes.decode(base64.b64encode(str.encode(watermark_url)))print(watermark_url_base64)response, data = client.ci_put_object_from_local_file(Bucket='examplebucket-1250000000',LocalFilePath='sample.png',Key="sample.png",# pic operation json structPicOperations='{"is_pic_info":1,"rules":[{"fileid": "format.png","rule": "watermark/3/type/1/image/' +watermark_url_base64 + '" }]}')print(response) print(data)# 提取盲水印sample_url = 'http://{bucket}.cos.{region}.myqcloud.com/sample.png'.format(bucket='examplebucket-1250000000', region=region)sample_url_base64 = bytes.decode(base64.b64encode(str.encode(sample_url)))response, data = client.ci_put_object_from_local_file(Bucket='examplebucket-1250000000',LocalFilePath='format.png',Key="format.png",# pic operation json structPicOperations='{"is_pic_info":1,"rules":[{"fileid": "watermark.png","rule": "watermark/4/type/1/image/' +sample_url_base64 + '" }]}')print(response) print(data)
参数说明
参数名称 | 参数描述 | 类型 | 是否必填 |
Bucket | 存储桶名称,格式为 BucketName-APPID ,详情请参见 命名规范 | String | 是 |
LocalFilePath | 需要处理的本地图片路径 | String | 是 |
Key | 对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg 中,对象键为 doc/pic.jpg | String | 是 |
EnableMD5 | 开启对象上传的 MD5 校验 | Bool | 否 |
返回结果说明
response 为响应头,数据类型为 dict。data 为处理后的图片元信息与源图元信息。
response 内容
响应体 data
下载时处理
功能说明
在下载图片时,同步为该图片添加盲水印。
方法原型
def ci_get_object(self, Bucket, Key, DestImagePath, Rule, **kwargs)
请求示例
# 添加盲水印watermark_url = 'http://{bucket}.cos.{region}.myqcloud.com/watermark.png'.format(bucket='examplebucket-1250000000', region=region)watermark_url_base64 = bytes.decode(base64.b64encode(str.encode(watermark_url)))print(watermark_url_base64)def when_download_object(dest_file, key, rule): response = client.ci_get_object( Bucket=bucket_name, Key=key, DestImagePath=dest_file, # pic operation json struct Rule=rule ) print(response['x-cos-request-id'])def add_blind_watermark_when_download_object(): rule = 'watermark/3/type/1/image/' + watermark_url_base64 when_download_object('local.png', 'format.png', rule)
参数说明
参数名称 | 参数描述 | 类型 | 是否必选 |
Bucket | String | 是 | |
DestImagePath | 下载图片的目的路径 | String | 是 |
Key | 对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg 中,对象键为 doc/pic.jpg | String | 是 |
Rule | 图片处理规则 | String | 是 |
返回结果说明
response 为响应头,数据类型为 dict。
response 内容
云上处理
功能说明
对 COS 上已存在的图片,通过添加盲水印参数的形式为图片添加盲水印并转存或者提取盲水印,并将提取出的水印图转存。
方法原型
def ci_image_process(self, Bucket, Key, **kwargs)
请求示例
watermark_url = 'http://{bucket}.cos.{region}.myqcloud.com/watermark.png'.format(bucket='examplebucket-1250000000', region=region)watermark_url_base64 = bytes.decode(base64.b64encode(str.encode(watermark_url)))print(watermark_url_base64)def process_on_cloud(key, pic_operations): response, data = client.ci_image_process( Bucket=bucket_name, Key=key, # pic operation json struct PicOperations=pic_operations ) print(response['x-cos-request-id']) print(data)# 添加盲水印def add_blind_watermark_process_on_cloud(): operations = '{"is_pic_info":1,"rules":[{"fileid": "format.png",' \\ '"rule": "watermark/3/type/1/image/' \\ + watermark_url_base64 + '" }]}' process_on_cloud('format.png', operations)# 提取盲水印sample_url = 'http://{bucket}.cos.{region}.myqcloud.com/sample.png'.format(bucket='examplebucket-1250000000', region=region)sample_url_base64 = bytes.decode(base64.b64encode(str.encode(sample_url)))def get_blind_watermark_process_on_cloud(): print(sample_url_base64) operations = '{"is_pic_info":1,"rules":[{"fileid": "sample.png",' \\ '"rule": "watermark/4/type/1/image/' \\ + sample_url_base64 + '" }]}' process_on_cloud('format.png', operations)
参数说明
参数名称 | 参数描述 | 类型 | 是否必填 |
Bucket | String | 是 | |
Key | 对象键(Key)是对象在存储桶中的唯一标识。例如,在对象的访问域名 examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/pic.jpg 中,对象键为 doc/pic.jpg | String | 是 |
PicOperations | 图片处理规则 | String | 是 |
返回结果说明
response 为响应头,数据类型为 dict。data 为处理后的图片元信息与源图元信息。
response 内容
响应体 data