按键插件里面有这个命令啊,按键731版本的如下:
//在屏幕区域范围内截图保存到("c:\picbmp")里
call
pluginpicprintscreen(0,
0,
1024,
768,
"c:\picbmp")
delay
1000
检测完边缘后用随机数确定xy值就行了啊,可以用循环判断到xy值确定的点是否在边缘范围内,然后获取就好了。具体算法:首先先确定物体所在的矩形区域,判断好矩形左上角点的坐标startX,startY,以及矩形的宽高,假设为width和height;然后循环,通过Random rand = new Random(); int x = startX+randnextInt(width); int y = startY+randnextInt(height); 来获取随机点的坐标;最后循环条件是x,y不在你检测的边缘范围内,如果在范围内就退出循环检测颜色值就行啦
用二进制的方式打开文件,从第55字节开始存放的是颜色数据,存放顺序是从左到右边,
从下到上
,这点要特别注意,因此坐标与字节对应需要换算,第19-22字节存放的位图的宽度(单位是像素),第23-26字节存放高度,普通的24位位图每像素占3字节(不同位深的不同),分别为RGB,有了这些你就可以直接通过计算定点读取三字节。。即可得到该点RGB值
----------------------------------------------------------
用画图板建立一个BMP图,尺寸自定,背景一色,从(0,0)点到(X,X)点画一条45度的其它色斜线。。然后慢慢验证吧
Private
Sub
Command3_Click()
Dim
BMPWidth
As
Long
Dim
BMPHeight
As
Long
Dim
LineWidth
As
Long
Dim
ArrByte(0
To
3)
As
Byte
Dim
R
As
Integer
Dim
G
As
Integer
Dim
B
As
Integer
Open
"D:\111bmp"
For
Binary
As
#1
Get
#1,
19,
ArrByte
BMPWidth
=
ArrByte(3)
256
^
3
+
ArrByte(2)
256
^
2
+
ArrByte(1)
256
+
ArrByte(0)
Get
#1,
23,
ArrByte
BMPHeight
=
ArrByte(3)
256
^
3
+
ArrByte(2)
256
^
2
+
ArrByte(1)
256
+
ArrByte(0)
'BMP图要求每行字节数为4的倍数,不够则填充1-3个无用字节
Select
Case
(BMPWidth
3)
Mod
4
Case
0
LineWidth
=
BMPWidth
3
Case
1
LineWidth
=
BMPWidth
3
+
3
Case
2
LineWidth
=
BMPWidth
3
+
2
Case
3
LineWidth
=
BMPWidth
3
+
1
End
Select
'此为求
(0,0)点颜色分量
Get
#1,
FindByte(LineWidth,
BMPHeight,
0,
0),
ArrByte
R
=
ArrByte(2)
G
=
ArrByte(1)
B
=
ArrByte(0)
R;
G;
B
Close
#1
End
Sub
Private
Function
FindByte(ByVal
LineWidth
As
Long,
ByVal
LineCount
As
Long,
ByVal
X
As
Long,
ByVal
Y
As
Long)
As
Long
FindByte
=
55
+
(LineCount
-
Y
-
1)
LineWidth
+
3
X
End
Function
----------------------------------------
给分吧!!噢
抗木昂卑鄙。。。。
以上就是关于按键精灵 如何对截取的图片进行读取指定点颜色全部的内容,包括:按键精灵 如何对截取的图片进行读取指定点颜色、请问在android中,对图片进行边缘检测后,怎样在两个边缘之间提取任意几个点的颜色值呢、用vb如何获取存在硬盘的bmp图片某坐标的颜色等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)