hallo,(Sc3) :hammer:
kann jemand mal fix pixelshecksum so anpassen,
daß z.B. nur weiss beachtet wird?
etwa so:
PixelChecksum(100,100,105,107, 16777215)
Danke @Berti
hallo,(Sc3) :hammer:
kann jemand mal fix pixelshecksum so anpassen,
daß z.B. nur weiss beachtet wird?
etwa so:
PixelChecksum(100,100,105,107, 16777215)
Danke @Berti
Lass einfach einmal die PixelChecksum per MsgBox ausgeben, wenn es gerade so ist, wie du es brauchst.
peethebee
Hallo!
Pixelchecksum kann man nicht anpassen das es nur weiss beachtet! Mit PixelChecksum wird eine Checksumme aus den Pixeln gebildet die in dem angegebene Bereich liegen, mit dem 5. Parameter kann nur angeben das nicht alle Pixel in die Checksumme einbezogen werden, ein Wert > 1 ist aber laut Hilfe nicht empfohlen!
Wenn Du nur weisse Pixel willst musst Du einen Bereich erstellen der nur aus weissen Pixel besteht und dann daraus die Checksumme bilden!
hallo, :weinen:
kann nu jemand sowas programmieren?
ich möchte damit weisse zahlen auslesen,
der hintergrund ist sehr dynamisch.
Danke @Berti
Hi,
vielleicht hilft dir ja das:
#include <GUIConstants.au3>
HotKeySet("{ESC}", "_end")
HotKeySet("{F2}", "_check")
Global $start = MouseGetPos()
[/autoit] [autoit][/autoit] [autoit]$gui = GUICreate("GUI", 30, 30, $start[0] - 15, $start[1] - 15, $WS_POPUP, $WS_EX_TOPMOST)
GUISetBkColor(0x00FF00)
_GUICreateInvRect($gui, 5, 5, 20, 20)
GUISetState()
While 1
Sleep(10)
$now = MouseGetPos()
WinMove($gui, "", $now[0] - 15, $now[1] - 15)
WEnd
Func _check()
$pos = WinGetPos($gui)
$pCkSum = PixelChecksum($pos[0], $pos[1], $pos[0] + $pos[2], $pos[1] + $pos[3])
ConsoleWrite($pCkSum & @LF)
MsgBox(64, "Pixel Checksum of " & $pos[0] & " " & $pos[1]& " " & $pos[0] + $pos[2]& " " & $pos[1] + $pos[3], "Checksum: " & $pCkSum)
EndFunc ;==>_check
Func _GUICreateInvRect($hwnd, $l, $t, $w, $h)
$pos = WinGetPos($hwnd)
$1 = 0
$2 = 0
$3 = $pos[2]
$4 = $t
$ret = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", $1, "long", $2, "long", $3, "long", $4)
$1 = 0
$2 = 0
$3 = $l
$4 = $pos[3]
$ret2 = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", $1, "long", $2, "long", $3, "long", $4)
$1 = $l + $w
$2 = 0
$3 = $pos[2]
$4 = $pos[3]
$ret3 = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", $1, "long", $2, "long", $3, "long", $4)
$1 = 0
$2 = $t + $h
$3 = $pos[2]
$4 = $pos[3]
$ret4 = DllCall("gdi32.dll", "long", "CreateRectRgn", "long", $1, "long", $2, "long", $3, "long", $4)
DllCall("gdi32.dll", "long", "CombineRgn", "long", $ret[0], "long", $ret[0], "long", $ret2[0], "int", 2)
DllCall("gdi32.dll", "long", "CombineRgn", "long", $ret[0], "long", $ret[0], "long", $ret3[0], "int", 2)
DllCall("gdi32.dll", "long", "CombineRgn", "long", $ret[0], "long", $ret[0], "long", $ret4[0], "int", 2)
DllCall("user32.dll", "long", "SetWindowRgn", "hwnd", $hwnd, "long", $ret[0], "int", 1)
EndFunc ;==>_GUICreateInvRect
Func _end()
Exit (0)
EndFunc ;==>_end
So long,
Mega
Hi!
Hört sich für mich nach Lesen von Captchas an...
Ich habe mich schon ein paar mal ein bisschen an OCR unter AutoIt gemacht und es wäre sehr viel Glück, wenn das klappen würde. Gegen gute Captchas hat man als Rechner einfach kaum eine Chance...
peethebee
hallo leut, :lol:
danke für die anregungen.
hab mich mal rangesetzt und eine UDF gebastelt,
die nur die weissen pixel beim auslesen beachtet
PixelColorSum(100, 100, 104, 105, 16777215)
gibt bei einer null als ergebnis 344443 aus:
XOOOX =3
OOXOO =4
OOXOO =4
OOXOO =4
OOXOO =4
XOOOX =3
Gruss @Berti