autoit3CN 发表于 2011-10-14 23:35:26

回复 15# xms77

很容易解决的一个问题!

    PixelGetColor
--------------------------------------------------------------------------------

返回指定像素位置的象素颜色值.


PixelGetColor ( X 坐标 , Y 坐标[, 句柄] )

xms77 发表于 2011-10-14 23:38:21

回复 17# autoit3CN
是个方法,但是取坐标很麻烦

autoit3CN 发表于 2011-10-14 23:50:44

回复 18# xms77


    看你的截图也没看见几个“灯”,用相对坐标完全可以轻松解决取坐标问题

Opt("CaretCoordMode", 0)      ;Caret 坐标模式:1=绝对位置, 0=相对位置, 2=客户区

woeiwoei 发表于 2011-10-15 01:29:37

替换图片不行吗?

xms77 发表于 2011-10-16 20:40:51

回复 18# autoit3CN
截图只是一部分,总共有63个灯

xms77 发表于 2011-10-16 20:42:53

回复 19# woeiwoei
行,但是不知道现在灯的状态的话,用哪个图片来替换呢?我发这个帖子的目的就是要怎样获取当前灯的状态,然后就是...,你懂得!

afan 发表于 2011-10-16 20:59:29

如果是自己写的软件我有点想不通为何有这个问题……
LZ不如用简单的例子来说明你需要的结果,我想肯定不需要“获取”图片信息~

zsken 发表于 2011-10-17 08:03:16

这是写脚本代码之前未考虑周全的结果,是一种无奈的补救办法。

xms77 发表于 2011-10-17 13:07:58

回复 22# afan
初始化时是如下语句:$Pic = GUICtrlCreatePic("C:\windows\no.jpg", 166, 67, 17, 17)
$Pic = GUICtrlCreatePic("C:\windows\no.jpg", 166, 91, 17, 17)
$Pic = GUICtrlCreatePic("C:\windows\no.jpg", 166, 115, 17, 17)
$Pic = GUICtrlCreatePic("C:\windows\no.jpg", 166, 140, 17, 17)
$Pic = GUICtrlCreatePic("C:\windows\no.jpg", 166, 164, 17, 17)
$Pic = GUICtrlCreatePic("C:\windows\no.jpg", 166, 189, 17, 17)
$Pic = GUICtrlCreatePic("C:\windows\no.jpg", 166, 212, 17, 17)Pic控件复制语句:$data = UDPRecv($Socket_received, 128)
                If $data <> "" Then
                        ;$data = BinaryToString($data,4)
                        $Data_array = StringSplit($data,"|")
                        If $Data_array = 5 Then
                        ;_ArrayDisplay($Data_array)
                                $Number = StringRight($Data_array,2)
                                $Number = $Number - 20
                                GUICtrlSetData($CellID[$Number],$Data_array)
                                GUICtrlSetData($Product[$Number],$Data_array)
                                GUICtrlSetImage($pic[$Number], "C:\windows\online.jpg")
                                GUICtrlSetData($IP[$Number],$Data_array)
                                GUICtrlSetColor($ip[$Number],0x00ff00)
                                GUICtrlSetData($Rev[$Number],$Data_array)
                        ElseIf $Data_array = 2 Then
                                GUICtrlSetData($Edit1, $Data_array&">> "&$Data_array&@CRLF,1)
                        EndIf
                       
                EndIf

afan 发表于 2011-10-17 13:29:15

Gobal $OLPic

GUICtrlSetImage($pic[$Number], "C:\windows\online.jpg") 之后 $OLPic[$Number] = 1

以后读取 $OLPic[$Number] = 1 即相当于 $Pic[$Number] 控件是 C:\windows\online.jpg

xms77 发表于 2011-10-17 20:53:25

回复 25# afan
谢谢afan大大,我也曾经考虑过创建一个数组来保存图片的状态信息的,一直在寻找更简单的判断方法,看来还是只能用这个方法了!

afan 发表于 2011-10-18 11:25:37

回复 26# xms77


    还有比赋值、取值更简单的吗 (⊙_⊙)?

andersonljw 发表于 2011-10-20 11:43:48

ddddddddddddddddd抽空看看
页: 1 [2]
查看完整版本: 如何读取Pic控件的图片信息【已解决】