Object 內置對象

對象Image

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

Image 對象屬於 gd 模塊,創建:

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

繼承關係

#lineWidth: 1.5 #font: Helvetica,sans-Serif #fontSize: 10 #leading: 1.6 #.this: fill=lightgray #.class: fill=white [<class>object|toString();toJSON()] [<this>Image|width;height;format;type;colorsTotal;transparent;progressive;alphaBlending|getData();save();colorAllocate();colorAllocateAlpha();colorClosest();colorClosestHWB();colorClosestAlpha();colorExact();colorExactAlpha();colorResolve();colorResolveAlpha();colorDeallocate();clip();getPixel();getTrueColorPixel();setPixel();setThickness();line();rectangle();filledRectangle();polygon();openPolygon();filledPolygon();ellipse();filledEllipse();arc();filledArc();fill();fillToBorder();colorReplace();clone();resample();crop();flip();rotate();convert();copy();copyMerge();copyMergeGray();copyResized();copyResampled();copyRotated();filter();affine();gaussianBlur()] [object] <:- [Image] Image width height format type colorsTotal transparent progressive alphaBlending getData() save() colorAllocate() colorAllocateAlpha() colorClosest() colorClosestHWB() colorClosestAlpha() colorExact() colorExactAlpha() colorResolve() colorResolveAlpha() colorDeallocate() clip() getPixel() getTrueColorPixel() setPixel() setThickness() line() rectangle() filledRectangle() polygon() openPolygon() filledPolygon() ellipse() filledEllipse() arc() filledArc() fill() fillToBorder() colorReplace() clone() resample() crop() flip() rotate() convert() copy() copyMerge() copyMergeGray() copyResized() copyResampled() copyRotated() filter() affine() gaussianBlur() object toString() toJSON()

成員屬性

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 序列化的值