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