Deutsch
Forum

AutoItX3.dll - PixelSearch Funktionsaufruf

 
- Seite 1 -



Christian
Schneider
Hallo,

ich stehe leider mal wieder auf Kriegsfuß mit einer .dll. Diesmal ist es die AutoItX3.dll.
Ich möchte die Funktion AU3_PixelSearch aufrufen.
KompilierenMarkierenSeparieren
CLS
Declare autodll&
autodll&=UseDll(AutoItX3.dll)
importFunc(autodll&,AU3_PixelSearch,PixelSearch)
Pixelsearch(???????????)
FreeDLL autodll&
Waitkey

Wie müsste jetzt der entsprechende Aufruf aussehen? Die Doku sagt:

AU3_API void WINAPI AU3_PixelSearch(long nLeft, long nTop, long nRight, long nBottom, long nCol, /*default 0*/long nVar, /*default 1*/long nStep, LPPOINT pPointResult);


Ich komme einfach nicht weiter. Dll und Hilfe hängen am Beitrag an.

Gruß Christian

186 kB
Hochgeladen:23.02.2009
Ladeanzahl234
Herunterladen
306 kB
Hochgeladen:23.02.2009
Ladeanzahl182
Herunterladen
 
XProfan 11| Vista(64) SP2
23.02.2009  
 



 
- Seite 2 -



Christian
Schneider
Die dll muss wohl vorher initialisiert werden. Allerdings klappt folgender Code ebenfalls nicht
KompilierenMarkierenSeparieren
 
XProfan 11| Vista(64) SP2
24.02.2009  
 



@Christian: von 4,4 nach 4,4? (Und wrm. der Umweg über a&?)
 
24.02.2009  
 



Aber dennoch mal die Frage: Diese Funktion soll was genau machen?
 
24.02.2009  
 



Im Netz grasiert auch noch eine andere (ältere?) Syntax:
KompilierenMarkierenSeparieren
 
24.02.2009  
 




Christian
Schneider
iF
Im Netz grasiert auch noch eine andere (ältere?) Syntax:
KompilierenMarkierenSeparieren


Dürfte veraltet sein.

iF
24th May, 2006 - v3.1.1.1 (Beta)

* Added:

* Removed:

* Changed: PixelSearch now returns an array (COM) and POINT (DLL)


iF
Aber dennoch mal die Frage: Diese Funktion soll was genau machen?


Ich möchte damit einen vorgegebenen Bereich (in meinem Fall den Bereich wo sich das Fenster einer VM befindet) nach einer bestimmten Farbe suchen und als Ergebnis die Koordinaten erhalten wo diese Farbe vorkommt.

iF
@Christian: von 4,4 nach 4,4? (Und wrm. der Umweg über a&?)


Ok, die Werte sind nicht wirklich sinnvoll, darum wollte ich mich kümmern sobald das Programm nicht mehr abschmiert.
 
XProfan 11| Vista(64) SP2
24.02.2009  
 




Jörg
Sellmeyer
Die 4,4 war eimn kleiner Fehler meinerseits. Sollte 4,4,400,400 heißen und der Umweg über a&... Immerhin ein Versuch wert, es mal über die Adresse des Bereichs zu versuchen. Eigentlich ist Bereich# ja schon die Adresse aber versuch macht kluch.
Vielleicht muß ja in /*default 0*/long nVar, die Größe des Bereichs noch angegeben werden...
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
24.02.2009  
 



Aha, daraum gehts also: [...] 


; Find a pure red pixel in the range 0,0-20,300
$coord = PixelSearch( 0, 0, 20, 300, 0xFF0000 )


@Christian: Geht es Dir um die DLL oder um die Funktionalität?

Übrigens, die im Beispiel dort angewandte Farbkonstante $FF0000 ist nach meiner Rechnung nicht Rot sondern Blau.
 
24.02.2009  
 




Christian
Schneider
Prinzipiell gehts mir um die Funkionalität. Allerdings enthält die dll einige sehr interessante Funktionen, so das ich sie schon gerne nutzen wollte. Die Pixel ließen sich sicherlich auch mit Boardmitteln finden, jedoch rechne ich da mit erheblichen Performanceeinbußen.
 
XProfan 11| Vista(64) SP2
24.02.2009  
 



Unabhängig von der DLL - kannst Du das anhängige Programm bitte einmal testen?

Ein SS.BMP wird geladen und das weisse Pixel $FFFFFF wird gesucht.

Bitte auch einmal mit grossen Bildern probieren und auf die Geschwindigkeit achten.

Ich wollte mir sowas ja sowieso basteln, hier eine Variante die mit reinem XProfan auskommt.

Sollte auch mit grossen Bilder sehr fix funktionieren - vielleicht sogar schneller als die Variante der DLL.

1.038 kB
Hochgeladen:24.02.2009
Ladeanzahl95
Herunterladen
0 kB
Hochgeladen:
Ladeanzahl0
Herunterladen
 
24.02.2009  
 




Christian
Schneider
Läuft bei meinen Schnelltests problemlos und recht schnell(auch mit Bildern >50MB). Wäre natürlich super wenn es auch unabhängig von Bildateien funktionieren würde (wobei der Umweg über einen Screenshot auch verkraftbar ist). Interessant wäre noch das mehrfache Vorkommen einer Farbe abfragen zu können (z.B. in einem Array) oder eine Art FindNext.
 
XProfan 11| Vista(64) SP2
25.02.2009  
 



Als Exe statt XPrf ja nur, weil ich einige Includes nutze und das Ganze nicht gleich auseinanderfitteln wollte.

Anz. d. Vorkommen einer Farbe wäre ebenso kein Problem.

Bin ich heute Abend wieder Zuhaus, bereite ich das mal auf.
 
25.02.2009  
 




RGH
Hallo,

ich habe mal eine Frage zu dem Beispielcode für AU3_PixelSearch, der oben steht:
Auf was beziehen sich die Koordinaten, in denen gesucht wird? Beziehen die sich auf den Desktop, irgenein Fenster, irgenmdeine Bitmap, oder was ganz anderes? Vielleicht kracht es ja deshalb, weil hier ein Zugrif ins Leere erfolgt. Da die DLL, wie oben geschrieben steht, offensichtlich initialisiert werden muß, muss sie natürlich auch zuallererst mit UseDLL in den Speicher geladen werden. Ist sie dies nicht, würde sie zwar beim Aufruf der Init-Funktion in den den Speicher geladen, die Funktion ausgeführt, aber anschließend sofort wieder entladen werde. Dann wäre die Initialisierung für die Katz! Ist sie vor dem EXTERNAL-Aufruf schon im Speicher, bleibnt sie anschließend auch dort und behält ihre Werte und Daten.
Ich würde vermuten, dass vor dem Aufruf von AU3_PixelSearch erst andere Aufrufe erfolgen müssen, damit was da ist, in dem gesucht werden kann.
(Sorry, auf meinem Arbeitsplatzrechner kann ich die Doku leider nicht aufrufen und studieren.)

Gruß
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
25.02.2009  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

22.833 Betrachtungen

Unbenanntvor 0 min.
Normann Strübli09.06.2020
Walter31.12.2018
Peter Max Müller19.12.2017
E.T.12.12.2015
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie