Image 图像处理
二值化
binaryzationBitmapByColor 通过颜色值二值化
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
bitmap | 是 | BufferedImage | bitmap格式图片数据 |
color | 是 | string | 字符串值,可通过findColor生成 |
mode | 否 | int | 二值化模式,默认1,2则为反转 |
//颜色值支持
//格式1: #ffffff
//格式2: #ffffff-#101010
//格式3: #ffffff-#101010,#ffffff-#101010
//格式4: #ffffff,#ffffff-#101010
//读图或者截图,并转为bitmap格式
let img = image.captureFullScreenPng()
let bit = image.imageToBitmap(img)
image.recycle(img)
//全格式二值化,默认1模式
bit = ll.img.binaryzationBitmapByColor(bit, "#ffffff-#101010,#ffffff-#101010")
//全格式二值化
bit = ll.img.binaryzationBitmapByColor(bit, "#ffffff-#101010,#ffffff-#101010", 1)
//全格式二值化,反转二值化,结果黑白颠倒
bit = ll.img.binaryzationBitmapByColor(bit, "#ffffff-#101010,#ffffff-#101010", 2)
//结果保存到本地,或者做其他处理
image.saveBitmap(bit, "png", 100, "d:/2.png")
返回值 | 类型 | 说明 |
---|---|---|
BufferedImage@44af652 | BufferedImage | 二值化后的bitmap图 |
binaryzationBitmapByRange 通过阈值范围二值化
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
bitmap | 是 | Bitmap | bitmap格式图片数据 |
start | 是 | number | 起始阈值 |
end | 否 | number | 结束阈值,可空,默认255 |
mode | 否 | number | 二值化模式,默认1,2则为反转 |
let bit = image.readBitmap("F:\\QQ接收的文件\\53.png")
//默认30-255,模式1
bit = ll.img.binaryzationBitmapByRange(bit, 30)
//默认模式1
bit = ll.img.binaryzationBitmapByRange(bit, 30, 150)
//全参数
bit = ll.img.binaryzationBitmapByRange(bit, 30, 150, 2)
image.saveBitmap(bit, "png", 100, "g:/1.png")
返回值 | 类型 | 说明 |
---|---|---|
Bitmap | Bitmap | 二值化后数据 |
circle
clipCircle 裁剪圆形
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
bitmap | 是 | BufferedImage | bitmap格式图片数据 |
radius | 否 | int | 圆半径,默认0,则以x轴一半为半径 |
let bit = image.readBitmap("g:/1.png")
//默认0,则以x轴一半为半径
bit = ll.img.clipCircle(bit)
//指定半径
bit = ll.img.clipCircle(bit, 100)
image.saveBitmap(bit, "png", 100, "g:/2.png")
返回值 | 类型 | 说明 |
---|---|---|
bitmap | BufferedImage | bitmap格式图片数据 |
clipCircleRing 裁剪圆环
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
bitmap | 是 | BufferedImage | bitmap格式图片数据 |
radius | 否 | int | 外圆半径,默认0,则以x轴一半为半径 |
innerRadius | 否 | int | 内圆半径,默认0,则以x轴一半为半径 |
let bit = image.readBitmap("g:/1.png")
//默认0,则以x轴一半为半径,此时结果为圆,非圆环
bit = ll.img.clipCircleRing(bit)
//指定外圆半径,此时结果为圆,非圆环
bit = ll.img.clipCircleRing(bit, 100)
//指定外圆半径和内圆半径,此时结果为圆环
bit = ll.img.clipCircleRing(bit, 100, 50)
//指定外圆半径和内圆半径,外圆设置为0,则以x轴一半为半径,此时结果为圆环
bit = ll.img.clipCircleRing(bit, 0, 50)
image.saveBitmap(bit, "png", 100, "g:/2.png")
返回值 | 类型 | 说明 |
---|---|---|
bitmap | BufferedImage | bitmap格式图片数据 |
其他
rotateBitmap 旋转图片
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
image | 是 | ImageBitmap | Bitmap图片对象 |
angle | 是 | Number | 角度,如旋转90度,支持负数 |
let bit = image.captureFullScreenPng()
bit = image.imageToBitmap(bit)
//右旋90度 90
bit = ll.img.rotateBitmap(bit, 90)
//左旋90度 -90
bit = ll.img.rotateBitmap(bit, -90)
//保存到本地查看效果
image.saveBitmap(bit, "png", 100, "G:/1.png")
返回值 | 类型 | 说明 |
---|---|---|
ImageBitmap | ImageBitmap | 旋转后的bitmap图片数据 |
bitmapToRGBArr 获取图片rgb数据
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
bitmap | 是 | bitmap | 图片bitmap数据 |
startX | 否 | int | 起始x,可空,默认0 |
startY | 否 | int | 起始y,可空,默认0 |
endX | 否 | int | 结束x,可空,默认0 |
endY | 否 | int | 结束x,可空,默认0 |
let img = image.captureFullScreenPng()
let bit = image.imageToBitmap(img)
image.recycle(img)
let arr = ll.img.bitmapToRGBArr(bit)
//不要直接打印arr内容,数据太大会引起ec崩溃
logd(arr.length)
for (let i = 0; i < arr.length; i++) {
logd(arr[i])
if (i > 100) {
break
}
}
返回值 | 类型 | 说明 |
---|---|---|
[[134, 135, 147],[134, 135, 147]] | [[],[]] | 二位数组rgb数据 |
getColorCount 获取范围内颜色个数
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
bitmap | 是 | Bitmap | 图片bitmap数据 |
color | 是 | string | 字符串值,可通过findColor生成 |
startX | 否 | int | 起始x,可空,默认0 |
startY | 否 | int | 起始y,可空,默认0 |
endX | 否 | int | 结束x,可空,默认0 |
endY | 否 | int | 结束x,可空,默认0 |
//1.全屏获取
let img = image.captureFullScreenPng()
let bit1 = image.imageToBitmap(img)
//查找单色数量
let count = ll.img.getColorCount(bit1, "#1296DB")
//查找单色数量,带偏色
count = ll.img.getColorCount(bit1, "#1296DB-#101010")
//查找组合色数量,带偏色,
count = ll.img.getColorCount(bit1, "#1296DB-#101010,#556688-#101010")
logd(count)
//10086
//2.通过函数本身限制范围
let img = image.captureFullScreenPng()
let bit1 = image.imageToBitmap(img)
//查找单色数量
let count = ll.img.getColorCount(bit1, "#1296DB", 100, 100, 200, 200)
logd(count)
返回值 | 类型 | 说明 |
---|---|---|
5 | number | 颜色数量 |
scaleBitmapByWH 通过宽高缩放Bitmap图片
参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
bitmap | 是 | Bitmap | Bitmap图片对象 |
newWidth | 是 | number | 新宽度 |
newHeight | 是 | number | 新高度 |
let bit = image.readBitmap("g:/1.png")
bit = ll.img.scaleBitmapByWH(bit, 50, 50)
image.saveBitmap(bit, "png", 100, "g:/2.png")
返回值 | 类型 | 说明 |
---|---|---|
Bitmap | null/Bitmap | Bitmap图片对象 |