阿里云对象存储OSS之通过URL形式进行图片处理

时间:2024-05-24 07:29:30

摘要: 什么是OSS 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。它具有与平台无关的RESTful API接口,能够提供99.999999999%(11个9)的数据可靠性和99.95%的服务可用性。

1. 什么是OSS

阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。它具有与平台无关的RESTful API接口,能够提供99.999999999%(11个9)的数据可靠性和99.95%的服务可用性。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。

2. OSS图片服务

阿里云OSS图片处理服务(Image Processing,简称 IMG) ,是阿里云OSS对外提供的海量、安全、低成本、高可靠的图片处理服务。您可以将原始图片上传保存在OSS上,通过简单的 RESTful 接口,在任何时间、任何地点、任何互联网设备上对图片进行处理。图片处理服务提供图片处理接口,图片上传请使用OSS上传接口。基于IMG,您可以搭建出跟图片相关的服务。

图片处理提供以下功能:
1.获取图片信息
2.图片格式转换
3.图片缩放、裁剪、旋转
4.图片添加图片、文字、图文混合水印
5.自定义图片处理样式
6.通过管道顺序调用多种图片处理功能

3. 图片处理访问规则

图片服务都是使用标准的HTTP的GET请求来访问的,所有的处理参数也在URL的QueryString中。
如果用户对原图进行一定的处理再返回,可有两种形式:

4. 通过URL的形式

通过三级域名访问:
http://bucket./object?x-oss-process=image/action,parame_value

Bucket:用户的IMG频道。
endpoint:用户的Bucket所在数据中心的访问域名。
Object:在IMG中,用户操作图片的基本数据单元是Object。即OSS对应的Object,单个Object(即每张图片)允许的最大大小是20MB。
action:用户对图片做的操作。
parame:用户对图片做的操作所对应的参数。

5. 多个action之间组合形式

多个action之间效果顺序执行,例如:image/resize,w_200/rotate,90表示图片先进行宽为200的缩放,再进行90度的旋转。

5.1 示例

假如请求Bucket是image-demo,该Bucket区域在华东1,对应的域名是oss-cn-hangzhou.aliyuncs.com,请求图片是example.jpg,对图片进行按目标宽度200进行缩略。

http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,w_200
如果是https方式,访问形式如下:

https://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,w_200

通过用户自定义域名访问链接如下:
http://userdomain/object?x-oss-process=image/action,parame_value

5.2 图片旋转

阿里云对象存储OSS之通过URL形式进行图片处理

5.3 图片裁剪

阿里云对象存储OSS之通过URL形式进行图片处理

5.4 图片水印

阿里云对象存储OSS之通过URL形式进行图片处理

6. 图片效果

6.1 模糊效果

操作名称:blur
r:模糊半径。取值:[1,50],r 越大图片越模糊。
s:正态分布的标准差。取值:[1,50],s 越大图片越模糊。

对图片进行模糊半径是 3, 标准差是 2 的处理。
http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/blur,r_3,s_2
阿里云对象存储OSS之通过URL形式进行图片处理

对图片进行缩略成宽度是200, 并且进行模糊半径是 3, 标准差是 2 的处理。
http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,w_200/blur,r_3,s_2
阿里云对象存储OSS之通过URL形式进行图片处理

6.2 亮度

操作名称:bright
value:亮度调整。0 表示原图亮度,小于 0 表示低于原图亮度,大于 0 表示高于原图亮度。取值:[-100, 100]

将原图只进行亮度调整。
http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/bright,50
阿里云对象存储OSS之通过URL形式进行图片处理
对图片进行缩略成宽度是200, 并且进行亮度调整
http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,w_200/bright,50
阿里云对象存储OSS之通过URL形式进行图片处理

6.3 对比度

操作名称:contrast
value:对比度调整。0 表示原图对比度,小于 0 表示低于原图对比度,大于 0 表示高于原图对比度。取值:[-100, 100]

将原图只进行对比度调整。
http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/contrast,-50

6.4 锐化

操作名称:sharpen
value:表示进行锐化处理。取值为锐化参数,参数越大,越清晰。取值:[50, 399] ,为达到较优效果,推荐取值为 100。

对原图进行锐化处理,锐化参数为 100。
http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/sharpen,100
阿里云对象存储OSS之通过URL形式进行图片处理
对图片进行缩略成宽度是200, 并且进行锐化参数是100
http://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,w_200/sharpen,100
阿里云对象存储OSS之通过URL形式进行图片处理