Что нового

[Автоматизация] определение цвета

0xfff

Новичок
Сообщения
10
Репутация
0
доброго времени суток.
можете дать исходник определения цвета при наведении курсора, к примеру как finder tool в windows info
заранее спасибо :smile:
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 166
Репутация
2 331
Код:
$nColor = PixelGetColor(MouseGetPos(0), MouseGetPos(1))
MsgBox(0, "", "0x" & Hex($nColor, 6))
 

madmasles

Модератор
Глобальный модератор
Сообщения
7 790
Репутация
2 319
0xfff
Или так:
Код:
HotKeySet("{ESC}", "MyExit") ;Esc - выход

While 1
	$nColor = PixelGetColor(MouseGetPos(0), MouseGetPos(1))
	ToolTip("0x" & Hex($nColor, 6))
	Sleep(10)
WEnd

Func MyExit()
	Exit
EndFunc   ;==>MyExit
 
Автор
0

0xfff

Новичок
Сообщения
10
Репутация
0
спасибо все работает
и ещё один вопрос, как остановить поиск т.е отключить или сделать чтобы когда он работал то программа полностью нормально работала..

Код:
func _OnColor()
	$color = 1
		While 1
			If $color = 1 Then
					$nColor = PixelGetColor(MouseGetPos(0), MouseGetPos(1))
				If Not @error Then
					GUICtrlSetData($Input1, "0x" & Hex($nColor, 6))
				EndIf
			EndIf
		WEnd
	EndFunc

Func _ofColor()
	$color = 0
	EndFunc
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8 166
Репутация
2 331
Код:
;On
AdlibRegister("_CheckColor", 10)

Sleep(3000)

;Off
AdlibUnRegister("_CheckColor")

Func _CheckColor()
	Local $aMousePos = MouseGetPos()
	Local $nColor = PixelGetColor($aMousePos[0], $aMousePos[1])
	
	If Not @error Then
		$nColor = _ColorConvertValue("0x" & Hex($nColor, 6), 1)
		ToolTip($nColor)
		;GUICtrlSetData($Input1, $nColor)
	EndIf
EndFunc

; #FUNCTION# ====================================================================================================
; Name...........:	_ColorConvertValue
; Description....:	Converts string color value to hex and back.
; Syntax.........:	_ColorConvertValue($sColor, $iConvertMode=-1, $aColors_Table=0)
; Parameters.....:	$sColor          - Color name or color hex value, depending on $iConvertMode.
;					$iConvertMode    - [Optional] If this parameter <> -1, then the function will convert hex color to string value
;                                        (default is -1 - convert from string to hex).
;					$aDefColorsTable - [Optional] If this parameter will contain an array with colors table (default is 0),
;                                        then this colors table will be used to convert the color.
;					
; Return values..:	Success - Returns converted color value.
;					Failure - Returns original $sColor value (if the color can not be converted).
; Author.........:	G.Sandler (MrCreatoR)
; Modified.......:	21.06.2009
; Remarks........:	
; Related........:	
; Link...........:	Colors table used in this function: http://ilan.belhost.by/screens/colorx.shtml
; Example........:	Yes.
; ===============================================================================================================
Func _ColorConvertValue($sColor, $iConvertMode=-1, $aDefColorsTable=0)
	If UBound($aDefColorsTable, 2) = 2 Then
		For $i = 0 To UBound($aDefColorsTable)-1
			If $iConvertMode = -1 And $sColor = $aDefColorsTable[$i][0] Then
				Return "0x" & Hex($aDefColorsTable[$i][1], 6)
			ElseIf $iConvertMode <> -1 And ($sColor = $aDefColorsTable[$i][1] Or $sColor = "0x" & $aDefColorsTable[$i][1]) Then
				Return String($aDefColorsTable[$i][0])
			EndIf
		Next
	Else
		Local $aStrColors_Table = StringSplit( _
			"White|Ivory|Lightyellow|Yellow|Snow|Floralwhite|Lemonchiffon|" & _
			"Cornsilk|Seashell|Lavenderblush|Papayawhip|Blanchedalmond|Mistyrose|Bisque|" & _
			"Moccasin|Navajowhite|Peachpuff|Gold|Pink|Lightpink|Orange|" & _
			"Lightsalmon|Darkorange|Coral|Hotpink|Tomato|Orangered|Deeppink|" & _
			"Magenta|Fuchsia|Red|Oldlace|Lightgoldenrodyellow|Linen|Antiquewhite|" & _
			"Salmon|Ghostwhite|Mintcream|Whitesmoke|Beige|Wheat|Sandybrown|" & _
			"Azure|Honeydew|Aliceblue|Khaki|Lightcoral|Palegoldenrod|Violet|" & _
			"Darksalmon|Lavender|Lightcyan|Burlywood|Plum|Gainsboro|Crimson|" & _
			"Palevioletred|Goldenrod|Orchid|Thistle|Lightgrey|Tan|Chocolate|" & _
			"Peru|Indianred|Mediumvioletred|Silver|Darkkhaki|Rosybrown|Mediumorchid|" & _
			"Darkgoldenrod|Firebrick|Powderblue|Lightsteelblue|Paleturquoise|Greenyellow|Lightblue|" & _
			"Darkgray|Brown|Sienna|Yellowgreen|Darkorchid|Palegreen|Darkviolet|" & _
			"Mediumpurple|Lightgreen|Darkseagreen|Saddlebrown|Darkmagenta|Darkred|Blueviolet|" & _
			"Lightskyblue|Skyblue|Gray|Olive|Purple|Maroon|Aquamarine|" & _
			"Chartreuse|Lawngreen|Mediumslateblue|Lightslategray|Slategray|Olivedrab|Slateblue|" & _
			"Dimgray|Mediumaquamarine|Cornflowerblue|Cadetblue|Darkolivegreen|Indigo|Mediumturquoise|" & _
			"Darkslateblue|Steelblue|Royalblue|Turquoise|Mediumseagreen|Limegreen|Darkslategray|" & _
			"Seagreen|Forestgreen|Lightseagreen|Dodgerblue|Midnightblue|Cyan|Aqua|" & _
			"Springgreen|Lime|Mediumspringgreen|Darkturquoise|Deepskyblue|Darkcyan|Teal|" & _
			"Green|Darkgreen|Blue|Mediumblue|Darkblue|Navy|Black|Gray", "|")
		
		Local $aHexColors_Table = StringSplit( _
			"FFFFFF|FFFFF0|FFFFE0|FFFF00|" & _
			"FFFAFA|FFFAF0|FFFACD|FFF8DC|FFF5EE|FFF0F5|FFEFD5|" & _
			"FFEBCD|FFE4E1|FFE4C4|FFE4B5|FFDEAD|FFDAB9|FFD700|" & _
			"FFC0CB|FFB6C1|FFA500|FFA07A|FF8C00|FF7F50|FF69B4|" & _
			"FF6347|FF4500|FF1493|FF00FF|FF00FF|FF0000|FDF5E6|" & _
			"FAFAD2|FAF0E6|FAEBD7|FA8072|F8F8FF|F5FFFA|F5F5F5|" & _
			"F5F5DC|F5DEB3|F4A460|F0FFFF|F0FFF0|F0F8FF|F0E68C|" & _
			"F08080|EEE8AA|EE82EE|E9967A|E6E6FA|E0FFFF|DEB887|" & _
			"DDA0DD|DCDCDC|DC143C|DB7093|DAA520|DA70D6|D8BFD8|" & _
			"D3D3D3|D2B48C|D2691E|CD853F|CD5C5C|C71585|C0C0C0|" & _
			"BDB76B|BC8F8F|BA55D3|B8860B|B22222|B0E0E6|B0C4DE|" & _
			"AFEEEE|ADFF2F|ADD8E6|A9A9A9|A52A2A|A0522D|9ACD32|" & _
			"9932CC|98FB98|9400D3|9370DB|90EE90|8FBC8F|8B4513|" & _
			"8B008B|8B0000|8A2BE2|87CEFA|87CEEB|808080|808000|" & _
			"800080|800000|7FFFD4|7FFF00|7CFC00|7B68EE|778899|" & _
			"708090|6B8E23|6A5ACD|696969|66CDAA|6495ED|5F9EA0|" & _
			"556B2F|4B0082|48D1CC|483D8B|4682B4|4169E1|40E0D0|" & _
			"3CB371|32CD32|2F4F4F|2E8B57|228B22|20B2AA|1E90FF|" & _
			"191970|00FFFF|00FFFF|00FF7F|00FF00|00FA9A|00CED1|" & _
			"00BFFF|008B8B|008080|008000|006400|0000FF|0000CD|" & _
			"00008B|000080|000000|CCCCCC", "|")
		
		For $i = 1 To $aStrColors_Table[0]
			If $iConvertMode = -1 And $sColor = $aStrColors_Table[$i] Then
				Return "0x" & $aHexColors_Table[$i]
			ElseIf $iConvertMode <> -1 And ($sColor = $aHexColors_Table[$i] Or $sColor = "0x" & $aHexColors_Table[$i]) Then
				Return $aStrColors_Table[$i]
			EndIf
		Next
	EndIf
	
	If $sColor = -1 Or $sColor = "" Or (IsKeyword($sColor) And $sColor = Default) Then Return -1
	Return "0x" & Hex($sColor, 6)
EndFunc


Добавил функцию для конвертирования цвета в его строковое значение, возможно пригодится.
 
Верх