858
阿裏雲
圖片水印__圖片處理指南_對象存儲 OSS-阿裏雲
水印操作可以在圖片上設置另外一張圖片或者文字做為水印。
參數
操作名稱:watermark
基礎參數
名稱 | 描述 | 參數類型 |
---|---|---|
t | 參數意義:透明度, 如果是圖片水印,就是讓圖片變得透明,如果是文字水印,就是讓水印變透明。 默認值:100, 表示 100%(不透明) 取值範圍: [0-100] |
可選參數 |
g | 參數意義:位置,水印打在圖的位置,詳情參考下方區域數值對應圖。 取值範圍:[nw,north,ne,west,center,east,ne,south] |
可選參數 |
x | 參數意義:水平邊距, 就是距離圖片邊緣的水平距離, 這個參數隻有當水印位置是左上,左中,左下, 右上,右中,右下才有意義 默認值:10 取值範圍:[0 – 4096] 單位:像素(px) |
可選參數 |
y | 參數意義:垂直邊距, 就是距離圖片邊緣的垂直距離, 這個參數隻有當水印位置是左上,中上, 右上,左下,中下,右下才有意義 默認值:10 取值範圍:[0 – 4096] 單位:像素(px) |
可選參數 |
rotate | 參數意義:旋轉角度,圖片按順時針旋轉的角度 取值範圍:[0, 360] |
可選參數 |
fill | 參數意義:進行水印鋪滿的效果; 取值範圍:[0,1],1表示鋪滿,0表示效果無效 |
可選參數 |
voffset | 參數意義: 中線垂直偏移,當水印位置在左中,中部,右中時,可以指定水印位置根據中線往上或者往下偏移。 默認值:0 取值範圍:[-1000, 1000] 單位:像素(px) |
可選參數 |
注意事項
- 水平邊距、垂直邊距、中線垂直偏移不僅可以調節水印在圖片中的位置,而且當圖片存在多重水印時,也可以調節兩張水印在圖中的布局。
- 用到的URL安全的Base64位編碼可以參考文檔下方的解釋。
- 區域數值對應圖
圖片水印參數
名稱 | 描述 | 參數類型 |
---|---|---|
image | 參數意義: 水印圖片的object名字(必須編碼) 注意:內容必須是URL安全base64編碼 encodedObject = url_safe_base64_encode(object) 如object為”panda.png”, 編碼過後的內容為”cGFuZGEucG5n” |
必選參數 |
水印圖片預處理
用戶在打水印時,可以對水印圖片進行預處理,支持的預處理操作有:圖片縮放,圖片裁剪(不支持內切圓),圖片旋轉(具體內容請直接查看文檔相關章節)。在“resize”操作下還額外支持一個參數:P(大寫P),表示水印圖片按主圖的比例進行處理,取值範圍為[1, 100],表示百分比
預處理示例
設置了P_10, 當主圖是100x100, 水印圖片大小就為10x10, 當主圖變成了200x200,水印圖片大小就為20x20。如果生成的圖片大小不一樣,而使用相同的水印處理參數,就會導致一些小圖,水印圖片過大。或者一些大圖,水印圖片過小。增加P參數,就可以解決這個問題。采用P參數,IMG會根據主圖的大小來動態調整水印圖片的大小。
對panda.png按30%縮放。 那麼水印文件是:panda.png?x-oss-process=image/resize,P_30 (經過URL安全base64編碼後是:cGFuZGEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMzA)
如果水印操作是:watermark=1&object=cGFuZGEucG5nQDMwUA&t=90&p=9&x=10&y=10 (右下角打水印)原圖按寬度是400,需要縮略,再打上述水印的示例:
https://image-demo.img-cn-hangzhou.aliyuncs.com/example.jpg?x-oss-process=image/resize,w_400/watermark,image_cGFuZGEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMzA,t_90,g_se,x_10,y_10
如果原圖按寬度300縮略,再打上上述水印的示例:
文字水印參數
名稱 | 描述 | 參數類型 |
---|---|---|
text | 參數意義:表示文字水印的文字內容(必須編碼) 注意:必須是URL安全base64編碼 encodeText = url_safe_base64_encode(fontText) 最大長度為64個字符(即支持漢字最多20個左右) |
必選參數 |
type | 參數意義:表示文字水印的文字類型(必須編碼) 注意:必須是URL安全base64編碼 encodeText = url_safe_base64_encode(fontType) 取值範圍:見下表(文字類型編碼對應表) 默認值:wqy-zenhei ( 編碼後的值:d3F5LXplbmhlaQ) |
可選參數 |
color | 參數意義:文字水印文字的顏色(必須編碼) 注意:參數必須是URL安全base64編碼 EncodeFontColor = url_safe_base64_encode(fontColor) 參數的構成必須是:# + 六個十六進製數 如:#000000表示黑色。 #是表示前綴,000000每兩位構成RGB顏色, #FFFFFF表示的是白色 默認值:#000000黑色 base64編碼後值:IzAwMDAwMA |
可選參數 |
size | 參數意義:文字水印文字大小(px) 取值範圍:(0,1000] 默認值:40 |
可選參數 |
shadow | 參數意義:文字水印的陰影透明度 取值範圍:(0,100] |
可選參數 |
rotate | 參數意義:文字順時針旋轉角度 取值範圍:[0,360] |
可選參數 |
文字類型編碼對應表
參數值 | 中文意思 | URL安全base64編碼後的值 | 備注 |
---|---|---|---|
wqy-zenhei | 文泉驛正黑 | d3F5LXplbmhlaQ== | 根據RFC,可省略填充符=變為d3F5LXplbmhlaQ |
wqy-microhei | 文泉微米黑 | d3F5LW1pY3JvaGVp | |
fangzhengshusong | 方正書宋 | ZmFuZ3poZW5nc2h1c29uZw== | 根據RFC,可省略填充符=變為ZmFuZ3poZW5nc2h1c29uZw |
fangzhengkaiti | 方正楷體 | ZmFuZ3poZW5na2FpdGk= | 根據RFC,可省略填充符=變為ZmFuZ3poZW5na2FpdGk |
fangzhengheiti | 方正黑體 | ZmFuZ3poZW5naGVpdGk= | 根據RFC,可省略填充符=變為ZmFuZ3poZW5naGVpdGk |
fangzhengfangsong | 方正仿宋 | ZmFuZ3poZW5nZmFuZ3Nvbmc= | 根據RFC,可省略填充符=變為ZmFuZ3poZW5nZmFuZ3Nvbmc |
droidsansfallback | DroidSansFallback | ZHJvaWRzYW5zZmFsbGJhY2s= | 根據RFC,可省略填充符=變為ZHJvaWRzYW5zZmFsbGJhY2s |
文圖混合
名稱 | 描述 | 參數類型 |
---|---|---|
order | 參數意義: 文字,圖片水印前後順序 取值範圍:[0, 1] order = 0 圖片在前(默認值); order = 1 文字在前。 |
可選參數 |
align | 參數意義:文字、圖片對齊方式 取值範圍:[0, 1, 2] align = 0 上對齊(默認值) align = 1 中對齊 align = 2 下對齊 |
可選參數 |
interval | 參數意義:文字和圖片間的間距 取值範圍: [0, 1000] | 可選參數 |
URL安全的Base64位編碼
在圖片處理服務裏會有很多參數需要變成Base64位編碼,參考RFC4648。注意這裏的URL 安全Base64位編碼隻是用在水印操作某些特定參數(文字水印的文字內容,文字顏色,文字字體及圖片水印的水印object)裏,不要將其用來簽名字符串(Signature)的內容。編碼的格式是:
- 先將內容編碼成Base64結果;
- 將結果中的加號”+”替換成中劃線“-“;
- 將結果中的斜杠”/”替換成下劃線”_”;
- 將結果中尾部的“=”號全部保留;
以Python為例子
import base64
input='wqy-microhei'
print(base64.urlsafe_b64encode(input))
示例
- 下麵URL的含義,是example.jpg加上水印文件是 :panda.png (panda.png 經過URL安全base64編碼後是:cGFuZGEucG5n)
- 對panda.png按寬度是50縮放。 那麼水印文件是:panda.png?x-oss-process=image/resize,w_50 (經過URL安全base64編碼後是:cGFuZGEucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLHdfNTA=)
- 最簡單水印:文字內容是:Hello, 圖片服務
- 字體是文泉驛正黑,字體大小是40, 顏色是白色(#FFFFFF), 文字陰影是50, 文字水印內容是:Hello, 圖片服務!, 水印位置是:右下,水平邊距是:10, 中線垂直偏移是:10
- 文圖混合水印,文字內容是:Hello, 圖片服務! 陰影是50, 位置在右下角,圖片object 是panda.png。 水平邊距和垂直邊距都是10, 水印透明是100, 排版方式是圖片前, 對齊方式是下對齊,間距是10
最後更新:2016-11-23 16:04:20
上一篇:
質量變換__格式轉換_圖片處理指南_對象存儲 OSS-阿裏雲
下一篇:
獲取圖片主色調__獲取圖片信息_圖片處理指南_對象存儲 OSS-阿裏雲
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲