Ja, KeyKon hat schon recht (he, Mann, wann schläfste eigentlich?). Die Position des Textes muß bekannt sein - oder Du mußt ausprobieren.
Wenn das nicht geht, bleibt wirklich nur noch eine Kreuzkorrelation übrig. Da ist es egal, wo der Text steht - nur gekippt/gedreht/gespiegelt oder so darf er nicht sein. Er muß immer in der gleichen Größe vorliegen, aber die Position ist egal - die wird mittels der Kreuzkorrelation errechnet.
Mach dich hierzu in der Wikipedia mal schlau.
Edit 1: http://de.wikipedia.org/wiki/Korrelatio ... rarbeitung
Edit 2: Test auf ganzen Schriftzug als Bildchen. Bei >50% Übereinstimmung haben wir Erfolg:
Code: Alles auswählen
Testtext.s = "Test"
CreateImage(1, 1,1, 1) ;Tiefe=1 für s/w - reicht ja aus
StartDrawing(ImageOutput(1))
b = TextWidth(Testtext)
h = TextHeight(Testtext)
StopDrawing() ;ResizeImage() verändert den Bildzeiger, deshalb diesen gleich neu bestimmen
ResizeImage(1, b,h, #PB_Image_Raw)
StartDrawing(ImageOutput(1))
DrawText(0,h, Testtext, $ffffff,$000000) ;ectl. noch die Basishöhe der Schrift anpassen!
gefunden.l = 0
For y=0 To h-1
For x=0 To b-1
If Point(x,y) ;Schriftfarbe
;Diese folgende Zeile anpassen - weiß noch nicht, wie das Bildschirmauslesen am günstigsten gemacht wird.
If PeekB(*Bildspeicher + y*Bildschirmbreite + x) = #weiß : gefunden + 1 : EndIf
Else
;nix machen, weil Sollhintergrund = weiß
EndIf
Next x
Next y
StopDrawing()
If gefunden >= b*h/2
MessageRequester("Hurra!", "Schriftzug erkannt!")
EndIf
End