物件Image
影像處理對象,用以對影像進行轉換,繪製,儲存等操作
Image 物件屬於gd模組,創建:
1
2var img = gd.create(640, 480);
var img1 = gd.load(data);
繼承關係
成員屬性
width
Integer, 查詢圖像寬度
1readonly Integer Image.width;
height
Integer, 查詢圖像高度
1readonly Integer Image.height;
format
Integer, 查詢圖像來源格式,結果為gd.PNG,gd.JPEG,gd.GIF,gd.BMP,gd.WEBP
1readonly Integer Image.format;
type
Integer, 查詢圖像類型,結果為gd.TRUECOLOR,gd.PALETTE
1readonly Integer Image.type;
colorsTotal
Integer, 查詢影像色表內的顏色總數
1readonly Integer Image.colorsTotal;
transparent
Integer, 查詢並設定指定的顏色為透明色
1Integer Image.transparent;
progressive
Boolean, 查詢和設定影像是否漸進式,僅支援jpeg 格式時
1Boolean Image.progressive;
alphaBlending
Boolean, 查詢和設定繪圖時是否計算alpha 層,預設為true
1Boolean Image.alphaBlending;
成員函數
getData
依照指定的格式返回圖像數據
1
2Buffer Image.getData(Integer format = gd.PNG,
Integer quality = 85) async;
呼叫參數:
- format: Integer, 指定傳回資料的格式,允許值為gd.PNG,gd.JPEG,gd.GIF,gd.BMP,gd.WEBP, 缺省為gd.PNG
- quality: Integer, 當格式為gd.JPEG或gd.WEBP時用於指定壓縮質量,預設為85,其他格式忽略此參數
回傳結果:
- Buffer, 返回格式化的數據
save
依照指定的格式將影像資料存入流對象
1
2
3Image.save(Stream stm,
Integer format = gd.PNG,
Integer quality = 85) async;
呼叫參數:
- stm:Stream, 指定要存入的流對象
- format: Integer, 指定傳回資料的格式,允許值為gd.PNG,gd.JPEG,gd.GIF,gd.BMP,gd.WEBP, 缺省為gd.PNG
- quality: Integer, 當格式為gd.JPEG或gd.WEBP時用於指定壓縮質量,預設為85,其他格式忽略此參數
依照指定的格式將影像資料存入指定文件,文件將被強制覆蓋
1
2
3Image.save(String fname,
Integer format = gd.PNG,
Integer quality = 85) async;
呼叫參數:
- fname: String, 指定檔名
- format: Integer, 指定傳回資料的格式,允許值為gd.PNG,gd.JPEG,gd.GIF,gd.BMP,gd.WEBP, 缺省為gd.PNG
- quality: Integer, 當格式為gd.JPEG時用於指定壓縮質量,預設為85,其他格式忽略此參數
colorAllocate
為指定的顏色申請一個顏色號,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgb 編碼數值
1
2
3Integer Image.colorAllocate(Integer red,
Integer green,
Integer blue);
呼叫參數:
- red: Integer, 紅色分量,範圍為0-255
- green: Integer, 綠色分量,範圍為0-255
- blue: Integer, 藍色分量,範圍為0-255
回傳結果:
- Integer, 返回顏色號,不成功返回-1
為指定的顏色申請一個顏色號,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgb 編碼數值
1Integer Image.colorAllocate(Integer color);
呼叫參數:
回傳結果:
- Integer, 返回顏色號,不成功返回-1
colorAllocateAlpha
為指定的顏色及透明申請一個顏色號,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgba 編碼數值
1
2
3
4Integer Image.colorAllocateAlpha(Integer red,
Integer green,
Integer blue,
Number alpha);
呼叫參數:
- red: Integer, 紅色分量,範圍為0-255
- green: Integer, 綠色分量,範圍為0-255
- blue: Integer, 藍色分量,範圍為0-255
- alpha: Number, 透明分量,範圍為0-1.0
回傳結果:
- Integer, 返回顏色號,不成功返回-1
為指定的顏色及透明申請一個顏色號,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgba 編碼數值
1Integer Image.colorAllocateAlpha(Integer color);
呼叫參數:
回傳結果:
- Integer, 返回顏色號,不成功返回-1
colorClosest
為指定的顏色尋找最接近的顏色號,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgb 編碼數值
1
2
3Integer Image.colorClosest(Integer red,
Integer green,
Integer blue);
呼叫參數:
- red: Integer, 紅色分量,範圍為0-255
- green: Integer, 綠色分量,範圍為0-255
- blue: Integer, 藍色分量,範圍為0-255
回傳結果:
- Integer, 返回顏色號,不成功返回-1
為指定的顏色尋找最接近的顏色號,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgb 編碼數值
1Integer Image.colorClosest(Integer color);
呼叫參數:
回傳結果:
- Integer, 返回顏色號,不成功返回-1
colorClosestHWB
為指定的顏色尋找最接近的顏色號,此方法使用Hue/White/Black 計算尋找最接近顏色,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgb 編碼數值
1
2
3Integer Image.colorClosestHWB(Integer red,
Integer green,
Integer blue);
呼叫參數:
- red: Integer, 紅色分量,範圍為0-255
- green: Integer, 綠色分量,範圍為0-255
- blue: Integer, 藍色分量,範圍為0-255
回傳結果:
- Integer, 返回顏色號,不成功返回-1
為指定的顏色尋找最接近的顏色號,此方法使用Hue/White/Black 計算尋找最接近顏色,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgb 編碼數值
1Integer Image.colorClosestHWB(Integer color);
呼叫參數:
回傳結果:
- Integer, 返回顏色號,不成功返回-1
colorClosestAlpha
為指定的顏色及透明找出最接近的顏色號,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgba 編碼數值
1
2
3
4Integer Image.colorClosestAlpha(Integer red,
Integer green,
Integer blue,
Number alpha);
呼叫參數:
- red: Integer, 紅色分量,範圍為0-255
- green: Integer, 綠色分量,範圍為0-255
- blue: Integer, 藍色分量,範圍為0-255
- alpha: Number, 透明分量,範圍為0-1.0
回傳結果:
- Integer, 返回顏色號,不成功返回-1
為指定的顏色及透明找出最接近的顏色號,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgba 編碼數值
1Integer Image.colorClosestAlpha(Integer color);
呼叫參數:
回傳結果:
- Integer, 返回顏色號,不成功返回-1
colorExact
尋找指定的顏色對應的顏色號,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgb 編碼數值
1
2
3Integer Image.colorExact(Integer red,
Integer green,
Integer blue);
呼叫參數:
- red: Integer, 紅色分量,範圍為0-255
- green: Integer, 綠色分量,範圍為0-255
- blue: Integer, 藍色分量,範圍為0-255
回傳結果:
- Integer, 返回顏色號,不成功返回-1
尋找指定的顏色對應的顏色號,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgb 編碼數值
1Integer Image.colorExact(Integer color);
呼叫參數:
回傳結果:
- Integer, 返回顏色號,不成功返回-1
colorExactAlpha
找出指定的顏色及透明對應的顏色號,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgba 編碼數值
1
2
3
4Integer Image.colorExactAlpha(Integer red,
Integer green,
Integer blue,
Number alpha);
呼叫參數:
- red: Integer, 紅色分量,範圍為0-255
- green: Integer, 綠色分量,範圍為0-255
- blue: Integer, 藍色分量,範圍為0-255
- alpha: Number, 透明分量,範圍為0-1.0
回傳結果:
- Integer, 返回顏色號,不成功返回-1
找出指定的顏色及透明對應的顏色號,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgba 編碼數值
1Integer Image.colorExactAlpha(Integer color);
呼叫參數:
回傳結果:
- Integer, 返回顏色號,不成功返回-1
colorResolve
尋找指定的顏色對應的顏色號,如果顏色不存在,則為其申請一個新顏色號,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgb 編碼數值
1
2
3Integer Image.colorResolve(Integer red,
Integer green,
Integer blue);
呼叫參數:
- red: Integer, 紅色分量,範圍為0-255
- green: Integer, 綠色分量,範圍為0-255
- blue: Integer, 藍色分量,範圍為0-255
回傳結果:
- Integer, 返回顏色號,不成功返回-1
尋找指定的顏色對應的顏色號,如果顏色不存在,則為其申請一個新顏色號,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgb 編碼數值
1Integer Image.colorResolve(Integer color);
呼叫參數:
回傳結果:
- Integer, 返回顏色號,不成功返回-1
colorResolveAlpha
尋找指定的顏色及透明對應的顏色號,如果顏色不存在,則為其申請一個新顏色號,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgba 編碼數值
1
2
3
4Integer Image.colorResolveAlpha(Integer red,
Integer green,
Integer blue,
Number alpha);
呼叫參數:
- red: Integer, 紅色分量,範圍為0-255
- green: Integer, 綠色分量,範圍為0-255
- blue: Integer, 藍色分量,範圍為0-255
- alpha: Number, 透明分量,範圍為0-1.0
回傳結果:
- Integer, 返回顏色號,不成功返回-1
尋找指定的顏色及透明對應的顏色號,如果顏色不存在,則為其申請一個新顏色號,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgba 編碼數值
1Integer Image.colorResolveAlpha(Integer color);
呼叫參數:
回傳結果:
- Integer, 返回顏色號,不成功返回-1
colorDeallocate
釋放指定的顏色號,釋放的顏色號將會再次申請後替換
1Image.colorDeallocate(Integer color);
呼叫參數:
- color: Integer, 指定要釋放的顏色號
clip
設定繪圖的剪切窗口,設定後,所有的繪製將被剪切在窗口內部
1
2
3
4Image.clip(Integer x1,
Integer y1,
Integer x2,
Integer y2);
呼叫參數:
- x1: Integer, 剪切視窗的左上x 座標
- y1: Integer, 剪切視窗的左上y 座標
- x2: Integer, 剪切視窗的右下x 座標
- y2: Integer, 剪切視窗的右下y 座標
getPixel
查詢指定位置點的顏色
1
2Integer Image.getPixel(Integer x,
Integer y);
呼叫參數:
- x: Integer, 指定查詢的x 座標
- y: Integer, 指定查詢的y 座標
回傳結果:
- Integer, 傳回指定點的顏色號
getTrueColorPixel
查詢指定位置點的真彩色顏色
1
2Integer Image.getTrueColorPixel(Integer x,
Integer y);
呼叫參數:
- x: Integer, 指定查詢的x 座標
- y: Integer, 指定查詢的y 座標
回傳結果:
- Integer, 傳回指定點的顏色號
setPixel
在指定位置畫一個點
1
2
3Image.setPixel(Integer x,
Integer y,
Integer color);
呼叫參數:
- x: Integer, 指定畫點的x 座標
- y: Integer, 指定畫點的y 座標
- color: Integer, 指定畫點的顏色號
setThickness
設定畫線的寬度,line, rectangle, arc 等方法畫線時缺省寬度為一個像素,可使用此方法改變線的寬度
1Image.setThickness(Integer thickness);
呼叫參數:
- thickness: Integer, 畫線的寬度
line
在指定的位置畫一條線
1
2
3
4
5Image.line(Integer x1,
Integer y1,
Integer x2,
Integer y2,
Integer color);
呼叫參數:
- x1: Integer, 指定畫線的起始x 座標
- y1: Integer, 指定畫線的起始y 座標
- x2: Integer, 指定畫線的結束x 座標
- y2: Integer, 指定畫線的結束y 座標
- color: Integer, 指定畫線的顏色號
rectangle
在指定的位置畫出矩形
1
2
3
4
5Image.rectangle(Integer x1,
Integer y1,
Integer x2,
Integer y2,
Integer color);
呼叫參數:
- x1: Integer, 指定左上角x 座標
- y1: Integer, 指定左上角y 座標
- x2: Integer, 指定右下角x 座標
- y2: Integer, 指定右下角y 座標
- color: Integer, 指定矩形的顏色號
filledRectangle
在指定的位置畫出填滿的矩形
1
2
3
4
5Image.filledRectangle(Integer x1,
Integer y1,
Integer x2,
Integer y2,
Integer color);
呼叫參數:
- x1: Integer, 指定左上角x 座標
- y1: Integer, 指定左上角y 座標
- x2: Integer, 指定右下角x 座標
- y2: Integer, 指定右下角y 座標
- color: Integer, 指定矩形的顏色號
polygon
根據給定的點繪製一個多邊形
1
2Image.polygon(Array points,
Integer color);
呼叫參數:
- points: Array, 包含多邊形點的數組,如[[1, 1], [1, 10], [10, 15], [10, 20]]
- color: Integer, 指定矩形的顏色號
openPolygon
根據給定的點繪製一個開放多邊形
1
2Image.openPolygon(Array points,
Integer color);
呼叫參數:
- points: Array, 包含多邊形點的數組,如[[1, 1], [1, 10], [10, 15], [10, 20]]
- color: Integer, 指定矩形的顏色號
filledPolygon
根據給定的點繪製一個填充多邊形
1
2Image.filledPolygon(Array points,
Integer color);
呼叫參數:
- points: Array, 包含多邊形點的數組,如[[1, 1], [1, 10], [10, 15], [10, 20]]
- color: Integer, 指定矩形的顏色號
ellipse
畫一個橢圓
1
2
3
4
5Image.ellipse(Integer x,
Integer y,
Integer width,
Integer height,
Integer color);
呼叫參數:
- x: Integer, 橢圓中心的x 座標
- y: Integer, 橢圓中心的y 座標
- width: Integer, 橢圓的寬度
- height: Integer, 橢圓的高度
- color: Integer, 指定矩形的顏色號
filledEllipse
畫一個填滿的橢圓
1
2
3
4
5Image.filledEllipse(Integer x,
Integer y,
Integer width,
Integer height,
Integer color);
呼叫參數:
- x: Integer, 橢圓中心的x 座標
- y: Integer, 橢圓中心的y 座標
- width: Integer, 橢圓的寬度
- height: Integer, 橢圓的高度
- color: Integer, 指定矩形的顏色號
arc
畫一個扇形
1
2
3
4
5
6
7Image.arc(Integer x,
Integer y,
Integer width,
Integer height,
Integer start,
Integer end,
Integer color);
呼叫參數:
- x: Integer, 扇形中心的x 座標
- y: Integer, 扇形中心的y 座標
- width: Integer, 扇形所在橢圓的寬度
- height: Integer, 扇形所在橢圓的高度
- start: Integer, 扇形開始的角度,範圍為0-360
- end: Integer, 扇形結束的角度,範圍為0-360
- color: Integer, 指定矩形的顏色號
filledArc
畫一個填充扇形
1
2
3
4
5
6
7
8Image.filledArc(Integer x,
Integer y,
Integer width,
Integer height,
Integer start,
Integer end,
Integer color,
Integer style = gd.ARC);
呼叫參數:
- x: Integer, 扇形中心的x 座標
- y: Integer, 扇形中心的y 座標
- width: Integer, 扇形所在橢圓的寬度
- height: Integer, 扇形所在橢圓的高度
- start: Integer, 扇形開始的角度,範圍為0-360
- end: Integer, 扇形結束的角度,範圍為0-360
- color: Integer, 指定矩形的顏色號
- style: Integer, 指定扇形的樣式,允許的值有gd.ARC,gd.CHORD,gd.NOFILL,gd.EDGED及其組合
fill
從指定的點開始填充封閉區域
1
2
3Image.fill(Integer x,
Integer y,
Integer color);
呼叫參數:
- x: Integer, 開始填充的x 座標
- y: Integer, 開始填充的y 座標
- color: Integer, 指定填滿的顏色號
fillToBorder
從指定的點開始在指定顏色的邊框內填滿封閉區域
1
2
3
4Image.fillToBorder(Integer x,
Integer y,
Integer borderColor,
Integer color);
呼叫參數:
- x: Integer, 開始填充的x 座標
- y: Integer, 開始填充的y 座標
- borderColor: Integer, 指定邊框的顏色號
- color: Integer, 指定填滿的顏色號
colorReplace
替換影像中指定的顏色為新顏色
1
2Image.colorReplace(Integer src,
Integer dst) async;
呼叫參數:
- src: Integer, 指定要替換的顏色
- dst: Integer, 指定新顏色
clone
複製目前影像為新影像
1Image Image.clone() async;
回傳結果:
- Image, 傳回複製的新影像對象
resample
根據圖像拉伸產生一個新尺寸的圖像
1
2Image Image.resample(Integer width,
Integer height) async;
呼叫參數:
- width: Integer, 指定拉伸的寬度
- height: Integer, 指定拉伸的高度
回傳結果:
- Image, 傳回新圖像對象
crop
剪切影像的一部分為新的影像
1
2
3
4Image Image.crop(Integer x,
Integer y,
Integer width,
Integer height) async;
呼叫參數:
- x: Integer, 剪切視窗的左上x 座標
- y: Integer, 剪切視窗的左上y 座標
- width: Integer, 剪切視窗的寬度
- height: Integer, 剪切視窗的高度
回傳結果:
- Image, 返回剪切出的影像
flip
鏡像當前影像
1Image.flip(Integer dir = gd.HORIZONTAL) async;
呼叫參數:
- dir: Integer, 鏡像方向,允許值為gd.BOTH,gd.HORIZONTAL,gd.VERTICAL, 缺省為gd.HORIZONTAL
rotate
旋轉當前影像
1Image.rotate(Integer dir) async;
呼叫參數:
convert
轉換目前影像類型
1Image.convert(Integer color = gd.TRUECOLOR) async;
呼叫參數:
- color: Integer, 指定影像類型,允許值為gd.TRUECOLOR或gd.PALETTE
copy
從一個影像複製一個區域到指定的位置
1
2
3
4
5
6
7Image.copy(Image source,
Integer dstX,
Integer dstY,
Integer srcX,
Integer srcY,
Integer width,
Integer height) async;
呼叫參數:
- source: Image, 來源影像對象
- dstX: Integer, 指定複製目標的x 座標
- dstY: Integer, 指定複製目標的y 座標
- srcX: Integer, 指定複製來源左上角的x 座標
- srcY: Integer, 指定複製來源左上角的y 座標
- width: Integer, 指定複製的寬度
- height: Integer, 指定複製的高度
copyMerge
從一個影像複製一個區域覆蓋到指定的位置
1
2
3
4
5
6
7
8Image.copyMerge(Image source,
Integer dstX,
Integer dstY,
Integer srcX,
Integer srcY,
Integer width,
Integer height,
Integer percent) async;
呼叫參數:
- source: Image, 來源影像對象
- dstX: Integer, 指定複製目標的x 座標
- dstY: Integer, 指定複製目標的y 座標
- srcX: Integer, 指定複製來源左上角的x 座標
- srcY: Integer, 指定複製來源左上角的y 座標
- width: Integer, 指定複製的寬度
- height: Integer, 指定複製的高度
- percent: Integer, 指定涵蓋的透明度
copyMergeGray
從一個影像複製一個區域的灰階覆蓋到指定的位置
1
2
3
4
5
6
7
8Image.copyMergeGray(Image source,
Integer dstX,
Integer dstY,
Integer srcX,
Integer srcY,
Integer width,
Integer height,
Integer percent) async;
呼叫參數:
- source: Image, 來源影像對象
- dstX: Integer, 指定複製目標的x 座標
- dstY: Integer, 指定複製目標的y 座標
- srcX: Integer, 指定複製來源左上角的x 座標
- srcY: Integer, 指定複製來源左上角的y 座標
- width: Integer, 指定複製的寬度
- height: Integer, 指定複製的高度
- percent: Integer, 指定涵蓋的透明度
copyResized
將一個影像中的一個區域拉伸後複製到指定的位置
1
2
3
4
5
6
7
8
9Image.copyResized(Image source,
Integer dstX,
Integer dstY,
Integer srcX,
Integer srcY,
Integer dstW,
Integer dstH,
Integer srcW,
Integer srcH) async;
呼叫參數:
- source: Image, 來源影像對象
- dstX: Integer, 指定複製目標的x 座標
- dstY: Integer, 指定複製目標的y 座標
- srcX: Integer, 指定複製來源左上角的x 座標
- srcY: Integer, 指定複製來源左上角的y 座標
- dstW: Integer, 指定複製的拉伸寬度
- dstH: Integer, 指定複製的拉伸高度
- srcW: Integer, 指定複製的來源寬度
- srcH: Integer, 指定複製的來源高度
copyResampled
將一個影像中的一個區域拉伸後複製到指定的位置,不同與copyResized,此方法拉伸時會對影像進行抖動
1
2
3
4
5
6
7
8
9Image.copyResampled(Image source,
Integer dstX,
Integer dstY,
Integer srcX,
Integer srcY,
Integer dstW,
Integer dstH,
Integer srcW,
Integer srcH) async;
呼叫參數:
- source: Image, 來源影像對象
- dstX: Integer, 指定複製目標的x 座標
- dstY: Integer, 指定複製目標的y 座標
- srcX: Integer, 指定複製來源左上角的x 座標
- srcY: Integer, 指定複製來源左上角的y 座標
- dstW: Integer, 指定複製的拉伸寬度
- dstH: Integer, 指定複製的拉伸高度
- srcW: Integer, 指定複製的來源寬度
- srcH: Integer, 指定複製的來源高度
copyRotated
將一個影像中的一個區域旋轉後複製到指定的位置
1
2
3
4
5
6
7
8Image.copyRotated(Image source,
Number dstX,
Number dstY,
Integer srcX,
Integer srcY,
Integer width,
Integer height,
Number angle) async;
呼叫參數:
- source: Image, 來源影像對象
- dstX: Number, 指定複製目標的x 座標
- dstY: Number, 指定複製目標的y 座標
- srcX: Integer, 指定複製來源左上角的x 座標
- srcY: Integer, 指定複製來源左上角的y 座標
- width: Integer, 指定複製的寬度
- height: Integer, 指定複製的高度
- angle: Number, 指定旋轉的角度
filter
把濾鏡filterType套用到影像上,依照濾鏡類型傳入所需參數
1
2
3
4
5Image.filter(Integer filterType,
Number arg1 = 0,
Number arg2 = 0,
Number arg3 = 0,
Number arg4 = 0) async;
呼叫參數:
- filterType: Integer, 過濾器類型
- arg1: Number, 過濾器所需參數: SMOOTH 的平滑等級、BRIGHTNESS 的亮度等級、CONTRAST 的對比等級、COLORIZE 的red 分值
- arg2: Number, 過濾器所需參數: COLORIZE 的green 分數
- arg3: Number, 過濾器所需參數: COLORIZE 的blue 分數
- arg4: Number, 過濾器所需參數: COLORIZE 的透明度alpha 分數
參數filterType 可以為下列數值:
- MEAN_REMOVAL, 用平均移除法來達到輪廓效果
- EDGEDETECT, 用邊緣偵測來突顯影像的邊緣
- EMBOSS, 使圖像浮雕化
- SELECTIVE_BLUR, 模糊影像
- GAUSSIAN_BLUR, 用高斯演算法模糊影像
- NEGATE, 將影像中所有顏色反轉
- GRAYSCALE, 將影像轉換為灰階圖
- SMOOTH, 使影像更柔滑,用arg1設定柔滑級別
- BRIGHTNESS, 改變影像的亮度,用arg1設定亮度級別,取值範圍是-255~255
- CONTRAST, 改變影像的對比度,用arg1設定對比級別,取值範圍是0~100
- COLORIZE, 改變影像的色調,用arg1、arg2、arg3分別指定red、blue、green分值,每種顏色範圍是0~255,arg4為透明度,取值返回是0~127
affine
根據給定的矩陣,對目前影像進行仿射
1
2
3
4
5Image Image.affine(Array affine,
Integer x = -1,
Integer y = -1,
Integer width = -1,
Integer height = -1) async;
呼叫參數:
- affine: Array, 仿射矩陣,由6 個double 類型的數字組成
- x: Integer, 可選剪切區域的原點x 座標
- y: Integer, 可選剪切區域的原點y 座標
- width: Integer, 可選剪切區域的的寬度
- height: Integer, 可選剪切區域的的高度
回傳結果:
- Image, 返回仿射後的影像
參數affine 是一個陣列:
1
2
3affine = [a0, a1, b0, b1, a2, b2];
x ' = a0x + a1y + a2;
y ' = b0x + b1y + b2;
gaussianBlur
對目前影像進行高斯模糊處理
1Image.gaussianBlur(Integer radius) async;
呼叫參數:
- radius: Integer, 模糊半徑
toString
傳回物件的字串表示,一般回傳"[Native Object]",物件可以根據自己的特性重新實現
1String Image.toString();
回傳結果:
- String, 傳回物件的字串表示
toJSON
傳回物件的JSON 格式表示,一般傳回物件定義的可讀屬性集合
1Value Image.toJSON(String key = "");
呼叫參數:
- key: String, 未使用
回傳結果:
- Value, 傳回包含可JSON 序列化的值