Italia
Foro

AutoItX3.dll - PixelSearch Funktionsaufruf

 
- Page 1 -



Christian
Schneider
Ciao,

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&
Waitk

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 Aiuto hängen am Beitrag an.

Saluto Christian

186 kB
Hochgeladen:23.02.2009
Downloadcounter223
Download
306 kB
Hochgeladen:23.02.2009
Downloadcounter173
Download
 
XProfan 11| Vista(64) SP2
23.02.2009  
 



 
- Page 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 circa 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 è) 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 circa 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 circa a&... Immerhin ein Versuch wert, es mal circa 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 Dimensione 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
Downloadcounter91
Download
0 kB
Hochgeladen:
Downloadcounter0
Download
 
24.02.2009  
 




Christian
Schneider
Läuft bei meinen Schnelltests problemlos und recht schnell(auch mit Bildern >50MB). Wäre naturalmente super wenn es auch unabhängig von Bildateien funktionieren würde (wobei der Umweg circa 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 Include 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
Ciao,

ich habe mal eine Frage zu dem Beispielcode per 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 naturalmente 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 corsa, aber anschließend sofort wieder entladen werde. Dann wäre die Initialisierung per 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.)

Saluto
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  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

21.965 Views

Untitledvor 0 min.
Normann Strübli09.06.2020
Walter31.12.2018
Peter Max Müller19.12.2017
E.T.12.12.2015
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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