小張是某視訊網站的新入職的UED,日常工作就是創作各式各樣的海報banner。躊躇滿志的小張,上了三天班就蔫了。因為他在完成一張圖的創作後,還需要考慮:
• 同一張圖會以不同的形式應用于網站各處:有時候需裁剪成不同形狀,有時需要加水印,有時需轉換格式....
• 為了風格統一,不同的圖需要保持樣式統一:不同圖檔排列組成成一組,每組圖檔風格(形狀、大小...)一緻。
為了滿足各方需求,小張不得不按照要求制作多份,是以出現了img_circle.png, img_warkermark.png,img.jpeg....。一旦需求有變,小張就得重新創作,然後接着再裁剪、加水印、轉格式.....,最後在不同的地方上傳不同的圖檔。工作量爆炸!!!小張将煩惱告訴了在阿裡雲存儲工作的好朋友小劉。小劉一聽,這好辦啊!
使用阿裡雲對象存儲OSS,隻需要存儲一張原始圖檔,就能通過簡單的url,在任何時間、任何地點、任何網際網路裝置上對存儲在OSS上的圖檔進行變換形狀、更改樣式、轉化格式等不同處理,輕松應對各式各樣圖檔需求!
使用下面的方法可破小張目前的困局!
使用URL圖檔處理參數處理圖檔
使用形如
https://bucketname.endpoint/objectname?x-oss-process=image/action,parame_value
的URL,就能使用OSS提供的圖檔處理服務對圖檔進行縮放、裁剪、添加水印等操作。
其中
-
Object的通路位址的通路位址,擷取方式,參見 上傳object後如何擷取通路URL 。https://bucketname.endpoint/objectname
-
固定參數,标明使用圖檔處理參數對圖檔檔案進行處理。x-oss-process=image/
- action,parame_value:圖檔處理的操作(action)、操作參數(parame)和值(value),用于定義圖檔處理的方式。多個操作以正斜線(/)隔開,OSS将按圖檔處理參數的順序處理圖檔。OSS支援以下action操作,點選相應連結可檢視相應action的具體操作參數和值。
操作名稱 | 操作 action | 說明 |
圖檔進階壓縮 | format | 将圖檔轉換為HEIF或WebP M6等高壓縮比格式。 |
圖檔縮放 | resize | 将圖檔縮放至指定大小。 |
内切圓 | circle | 以圖檔中心點為圓心,裁剪出指定大小的圓形圖檔。 |
自定義裁剪 | crop | 裁剪指定大小的矩形圖檔。 |
索引切割 | indexcrop | 按指定x或y軸的大小切分圖檔,之後選取其中一張圖檔。 |
圓角矩形 | rounded-corners | 按指定圓角大小将圖檔裁剪成圓角矩形。 |
自适應方向 | auto-orient | 将攜帶旋轉參數的圖檔進行自适應旋轉。 |
旋轉 | rotate | 按指定角度以順時針方向旋轉圖檔。 |
模糊效果 | blur | 對圖檔進行模糊處理。 |
亮度 | bright | 調整圖檔亮度。 |
銳化 | sharpen | 對圖檔進行銳化處理。 |
對比度 | contrast | 調整圖檔對比度。 |
漸進顯示 | interlace | 将JPG格式的圖檔調整為漸進顯示。 |
品質變換 | quality | 調整JPG和WebP格式圖檔的品質。 |
格式轉換 | 轉換圖檔格式。 | |
圖檔水印 | watermark | 為圖檔添加圖檔或文字水印。 |
擷取圖檔主色調 | average-hue | 擷取圖檔主色調。 |
擷取資訊 | info | 擷取圖檔資訊,包括基本資訊、EXIF資訊。 |
OSS控制台提供了圖檔處理樣式的可視化編輯界面,通過 「資料處理」-「圖檔處理」-「建立樣式」-「基本編輯」可自由選擇圖檔處理操作,最後将自動生成的圖檔處理參數粘貼到URL中即可。
下面用一個公共讀檔案作為示例,示範常用的資料處理方法。例如杭州區域下image-demo Bucket中存儲了一張圖檔example.jpg,外網通路位址為:
https://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg
。原圖長這樣:
圖檔縮放:
對應action為:resize,對應parame可
參考官網說明這裡,将圖檔先按比例縮放至寬200 px,則對應的action,parame_value 為 resize,w_200, 此時使用URL
https://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,w_200即可完成對原圖的縮放,如下圖
圖檔旋轉
對應action為:rotate, 對應parame可
這裡,要求将上文中已縮放的圖檔旋轉90°,則對應的action,parame_value為rotate,90,此時使用URL 示将圖檔先按比例縮放至寬200 px,再将圖檔旋轉90°
https://image-demo.oss-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,w_200/rotate,90即可完成對原圖的縮放和旋轉,如下圖
對應action為watermark,對應parame可
這裡,要求添加文字圖檔混合水印,需求及處理參數如下:
- 将主圖example.jpg縮略為寬高300:
resize,w_300,h_300
- 将主圖圖檔品質設為90%:
quality,q_90
- 将水印圖檔panda.png進行預處理(縮放30%):
image_cGFuZGEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMzA
- 水印文字内容為“Hello World”:
text_SGVsbG8gV29ybGQ
- 水印文字為白色、陰影透明度50、位置在右下、水準邊距10、中線垂直偏移10:
g_se,x_10,y_10,color_FFFFFF,shadow_50
- 排版方式為水印圖檔在前,水印文字在後,間距是10:
order_0,interval_10
- 水印圖檔和文字的對齊方式是下對齊:
align_2
- 水印透明度為100%:
t_100
是以得到的圖檔URL是:
https://image-demo-oss-zhangjiakou.oss-cn-zhangjiakou.aliyuncs.com/example.jpg?x-oss-process=image/resize,w_300,h_300/quality,q_90/watermark,image_cGFuZGEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMzA,text_SGVsbG8gV29ybGQ,order_0,interval_10,align_2,t_100,g_se,x_10,y_10,color_FFFFFF,shadow_50對應的action為format,對應parame可
這裡,有一個公共讀的gif檔案,公網通路位址為
https://image-demo.oss-cn-hangzhou.aliyuncs.com/example.gif,長這樣:
這裡将原圖縮放為寬200 px,并轉換為WebP格式。需求及處理參數如下:
- 圖檔縮放為寬200 px:
resize,w_200
- 圖檔轉換為WebP格式:
format,webp
圖檔處理URL為:
https://image-demo.oss-cn-hangzhou.aliyuncs.com/example.gif?x-oss-process=image/resize,w_200/format,webp使用樣式進行批量圖檔處理
如果希望複用圖檔樣式并批量應用,可以使用形如 http(s)//:BucketName.Endpoint/ObjectName?x-oss-process=style/的URL進行批量圖檔處理。
- 建立樣式:「OSS控制台」-「選擇bucket」-「資料處理」-「圖檔處理」-「建立樣式」,在基本編輯(可視化選擇編輯)和進階編輯(使用API編輯)中定制需要的圖檔樣式後儲存。
- 應用樣式:将上述圖檔樣式應用于待通路的圖檔的URL。例如将上個步驟建立的樣式應用于圖檔 https://image-demo-oss-zhangjiakou.oss-cn-zhangjiakou.aliyuncs.com/example.jpg ,應用後的URL為 https://image-demo-oss-zhangjiakou.oss-cn-zhangjiakou.aliyuncs.com/example.jpg?x-oss-process=style/small
原圖保護
若圖檔設定為公共讀或公共讀寫時,原圖可能存在被盜圖的風險,這時可以開啟OSS「原圖保護」功能。開啟後,其他使用者隻能擷取經過處理的圖檔,而無法擷取原圖,有效保證圖檔檔案安全。
- 開啟原圖保護:「OSS控制台」-「選擇bucket」-「資料處理」-「圖檔處理」-「通路設定」,打開「原圖保護」開關并選擇「原圖保護字尾」。
- 原圖保護驗證:
- 在浏覽器中輸入原圖URL 後,将傳回錯誤資訊。
- 在浏覽器中輸入 添加了樣式後的URL https://image-demo-oss-zhangjiakou.oss-cn-zhangjiakou.aliyuncs.com/example.jpg?x-oss-process=image/resize,w_300 ,能看到處理後的圖檔。
了解到阿裡雲對象存儲OSS提供的存儲服務及圖檔處理功能後,小張就職的公司果斷将網站圖檔資源搬站上雲,并應用圖檔處理服務。小張每天隻用專注于作品創作,圖檔處理就交給OSS圖檔處理,大大減輕了工作量,每天的心情如下: