Object 內建對象

物件Image

影像處理對象,用以對影像進行轉換,繪製,儲存等操作

Image 物件屬於gd模組,創建:

1 2
var img = gd.create(640, 480); var img1 = gd.load(data);

繼承關係

成員屬性

width

Integer, 查詢圖像寬度

1
readonly Integer Image.width;

height

Integer, 查詢圖像高度

1
readonly Integer Image.height;

format

Integer, 查詢圖像來源格式,結果為gd.PNG,gd.JPEG,gd.GIF,gd.BMP,gd.WEBP

1
readonly Integer Image.format;

type

Integer, 查詢圖像類型,結果為gd.TRUECOLOR,gd.PALETTE

1
readonly Integer Image.type;

colorsTotal

Integer, 查詢影像色表內的顏色總數

1
readonly Integer Image.colorsTotal;

transparent

Integer, 查詢並設定指定的顏色為透明色

1
Integer Image.transparent;

progressive

Boolean, 查詢和設定影像是否漸進式,僅支援jpeg 格式時

1
Boolean Image.progressive;

alphaBlending

Boolean, 查詢和設定繪圖時是否計算alpha 層,預設為true

1
Boolean Image.alphaBlending;

成員函數

getData

依照指定的格式返回圖像數據

1 2
Buffer Image.getData(Integer format = gd.PNG, Integer quality = 85) async;

呼叫參數:

回傳結果:

  • Buffer, 返回格式化的數據

save

依照指定的格式將影像資料存入流對象

1 2 3
Image.save(Stream stm, Integer format = gd.PNG, Integer quality = 85) async;

呼叫參數:


依照指定的格式將影像資料存入指定文件,文件將被強制覆蓋

1 2 3
Image.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 3
Integer 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 編碼數值

1
Integer Image.colorAllocate(Integer color);

呼叫參數:

  • color: Integer, 組合顏色值,可由gd.color, gb.rgb,gd.rgba等函數生成

回傳結果:

  • Integer, 返回顏色號,不成功返回-1

colorAllocateAlpha

為指定的顏色及透明申請一個顏色號,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgba 編碼數值

1 2 3 4
Integer 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 編碼數值

1
Integer Image.colorAllocateAlpha(Integer color);

呼叫參數:

  • color: Integer, 組合顏色值,可由gd.color, gb.rgb,gd.rgba等函數生成

回傳結果:

  • Integer, 返回顏色號,不成功返回-1

colorClosest

為指定的顏色尋找最接近的顏色號,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgb 編碼數值

1 2 3
Integer 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 編碼數值

1
Integer Image.colorClosest(Integer color);

呼叫參數:

  • color: Integer, 組合顏色值,可由gd.color, gb.rgb,gd.rgba等函數生成

回傳結果:

  • Integer, 返回顏色號,不成功返回-1

colorClosestHWB

為指定的顏色尋找最接近的顏色號,此方法使用Hue/White/Black 計算尋找最接近顏色,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgb 編碼數值

1 2 3
Integer 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 編碼數值

1
Integer Image.colorClosestHWB(Integer color);

呼叫參數:

  • color: Integer, 組合顏色值,可由gd.color, gb.rgb,gd.rgba等函數生成

回傳結果:

  • Integer, 返回顏色號,不成功返回-1

colorClosestAlpha

為指定的顏色及透明找出最接近的顏色號,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgba 編碼數值

1 2 3 4
Integer 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 編碼數值

1
Integer Image.colorClosestAlpha(Integer color);

呼叫參數:

  • color: Integer, 組合顏色值,可由gd.color, gb.rgb,gd.rgba等函數生成

回傳結果:

  • Integer, 返回顏色號,不成功返回-1

colorExact

尋找指定的顏色對應的顏色號,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgb 編碼數值

1 2 3
Integer 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 編碼數值

1
Integer Image.colorExact(Integer color);

呼叫參數:

  • color: Integer, 組合顏色值,可由gd.color, gb.rgb,gd.rgba等函數生成

回傳結果:

  • Integer, 返回顏色號,不成功返回-1

colorExactAlpha

找出指定的顏色及透明對應的顏色號,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgba 編碼數值

1 2 3 4
Integer 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 編碼數值

1
Integer Image.colorExactAlpha(Integer color);

呼叫參數:

  • color: Integer, 組合顏色值,可由gd.color, gb.rgb,gd.rgba等函數生成

回傳結果:

  • Integer, 返回顏色號,不成功返回-1

colorResolve

尋找指定的顏色對應的顏色號,如果顏色不存在,則為其申請一個新顏色號,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgb 編碼數值

1 2 3
Integer 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 編碼數值

1
Integer Image.colorResolve(Integer color);

呼叫參數:

  • color: Integer, 組合顏色值,可由gd.color, gb.rgb,gd.rgba等函數生成

回傳結果:

  • Integer, 返回顏色號,不成功返回-1

colorResolveAlpha

尋找指定的顏色及透明對應的顏色號,如果顏色不存在,則為其申請一個新顏色號,對於gd.PALETTE影像,色號為調色板索引,對於gd.TRUECOLOR影像,顏色號碼為rgba 編碼數值

1 2 3 4
Integer 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 編碼數值

1
Integer Image.colorResolveAlpha(Integer color);

呼叫參數:

  • color: Integer, 組合顏色值,可由gd.color, gb.rgb,gd.rgba等函數生成

回傳結果:

  • Integer, 返回顏色號,不成功返回-1

colorDeallocate

釋放指定的顏色號,釋放的顏色號將會再次申請後替換

1
Image.colorDeallocate(Integer color);

呼叫參數:

  • color: Integer, 指定要釋放的顏色號

clip

設定繪圖的剪切窗口,設定後,所有的繪製將被剪切在窗口內部

1 2 3 4
Image.clip(Integer x1, Integer y1, Integer x2, Integer y2);

呼叫參數:

  • x1: Integer, 剪切視窗的左上x 座標
  • y1: Integer, 剪切視窗的左上y 座標
  • x2: Integer, 剪切視窗的右下x 座標
  • y2: Integer, 剪切視窗的右下y 座標

getPixel

查詢指定位置點的顏色

1 2
Integer Image.getPixel(Integer x, Integer y);

呼叫參數:

  • x: Integer, 指定查詢的x 座標
  • y: Integer, 指定查詢的y 座標

回傳結果:

  • Integer, 傳回指定點的顏色號

getTrueColorPixel

查詢指定位置點的真彩色顏色

1 2
Integer Image.getTrueColorPixel(Integer x, Integer y);

呼叫參數:

  • x: Integer, 指定查詢的x 座標
  • y: Integer, 指定查詢的y 座標

回傳結果:

  • Integer, 傳回指定點的顏色號

setPixel

在指定位置畫一個點

1 2 3
Image.setPixel(Integer x, Integer y, Integer color);

呼叫參數:

  • x: Integer, 指定畫點的x 座標
  • y: Integer, 指定畫點的y 座標
  • color: Integer, 指定畫點的顏色號

setThickness

設定畫線的寬度,line, rectangle, arc 等方法畫線時缺省寬度為一個像素,可使用此方法改變線的寬度

1
Image.setThickness(Integer thickness);

呼叫參數:

  • thickness: Integer, 畫線的寬度

line

在指定的位置畫一條線

1 2 3 4 5
Image.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 5
Image.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 5
Image.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 2
Image.polygon(Array points, Integer color);

呼叫參數:

  • points: Array, 包含多邊形點的數組,如[[1, 1], [1, 10], [10, 15], [10, 20]]
  • color: Integer, 指定矩形的顏色號

openPolygon

根據給定的點繪製一個開放多邊形

1 2
Image.openPolygon(Array points, Integer color);

呼叫參數:

  • points: Array, 包含多邊形點的數組,如[[1, 1], [1, 10], [10, 15], [10, 20]]
  • color: Integer, 指定矩形的顏色號

filledPolygon

根據給定的點繪製一個填充多邊形

1 2
Image.filledPolygon(Array points, Integer color);

呼叫參數:

  • points: Array, 包含多邊形點的數組,如[[1, 1], [1, 10], [10, 15], [10, 20]]
  • color: Integer, 指定矩形的顏色號

ellipse

畫一個橢圓

1 2 3 4 5
Image.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 5
Image.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 7
Image.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 8
Image.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 3
Image.fill(Integer x, Integer y, Integer color);

呼叫參數:

  • x: Integer, 開始填充的x 座標
  • y: Integer, 開始填充的y 座標
  • color: Integer, 指定填滿的顏色號

fillToBorder

從指定的點開始在指定顏色的邊框內填滿封閉區域

1 2 3 4
Image.fillToBorder(Integer x, Integer y, Integer borderColor, Integer color);

呼叫參數:

  • x: Integer, 開始填充的x 座標
  • y: Integer, 開始填充的y 座標
  • borderColor: Integer, 指定邊框的顏色號
  • color: Integer, 指定填滿的顏色號

colorReplace

替換影像中指定的顏色為新顏色

1 2
Image.colorReplace(Integer src, Integer dst) async;

呼叫參數:

  • src: Integer, 指定要替換的顏色
  • dst: Integer, 指定新顏色

clone

複製目前影像為新影像

1
Image Image.clone() async;

回傳結果:

  • Image, 傳回複製的新影像對象

resample

根據圖像拉伸產生一個新尺寸的圖像

1 2
Image Image.resample(Integer width, Integer height) async;

呼叫參數:

  • width: Integer, 指定拉伸的寬度
  • height: Integer, 指定拉伸的高度

回傳結果:

  • Image, 傳回新圖像對象

crop

剪切影像的一部分為新的影像

1 2 3 4
Image Image.crop(Integer x, Integer y, Integer width, Integer height) async;

呼叫參數:

  • x: Integer, 剪切視窗的左上x 座標
  • y: Integer, 剪切視窗的左上y 座標
  • width: Integer, 剪切視窗的寬度
  • height: Integer, 剪切視窗的高度

回傳結果:

  • Image, 返回剪切出的影像

flip

鏡像當前影像

1
Image.flip(Integer dir = gd.HORIZONTAL) async;

呼叫參數:


rotate

旋轉當前影像

1
Image.rotate(Integer dir) async;

呼叫參數:


convert

轉換目前影像類型

1
Image.convert(Integer color = gd.TRUECOLOR) async;

呼叫參數:


copy

從一個影像複製一個區域到指定的位置

1 2 3 4 5 6 7
Image.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 8
Image.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 8
Image.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 9
Image.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 9
Image.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 8
Image.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 5
Image.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 5
Image 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 3
affine = [a0, a1, b0, b1, a2, b2]; x ' = a0x + a1y + a2; y ' = b0x + b1y + b2;

gaussianBlur

對目前影像進行高斯模糊處理

1
Image.gaussianBlur(Integer radius) async;

呼叫參數:

  • radius: Integer, 模糊半徑

toString

傳回物件的字串表示,一般回傳"[Native Object]",物件可以根據自己的特性重新實現

1
String Image.toString();

回傳結果:

  • String, 傳回物件的字串表示

toJSON

傳回物件的JSON 格式表示,一般傳回物件定義的可讀屬性集合

1
Value Image.toJSON(String key = "");

呼叫參數:

  • key: String, 未使用

回傳結果:

  • Value, 傳回包含可JSON 序列化的值