Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 11:16

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Box zeichnen?

Discussion on Box zeichnen? within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Sep 2010
Posts: 70
Received Thanks: 0
Box zeichnen?

Hallo elitepvpers!

Gibt es eine Möglichkeit eine Box mit auf eine bestimmte Farbe zu zeichnen? (mit pixelsearch coords rausfinden und dann in einem loop die box zeichnen) Die Box soll sich mitbewegen wenn der pixel sich bewegt (sollte mit PixelSearch möglich sein)

Brauche nur den command oder gelegentlich ein kleines Beispiel, kenne mich relativ gut mit AutoIt3 aus, nur fällt mir nicht ein wie ich das mit der Box hinbekomme. Hab schon gegoogelt, hat mir aber nicht weitergeholfen.

Danke im Vorraus.
zen90 is offline  
Old 09/02/2010, 19:15   #2
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,876
Quote:
Originally Posted by zen90 View Post
Hallo elitepvpers!

Gibt es eine Möglichkeit eine Box mit auf eine bestimmte Farbe zu zeichnen? (mit pixelsearch coords rausfinden und dann in einem loop die box zeichnen) Die Box soll sich mitbewegen wenn der pixel sich bewegt (sollte mit PixelSearch möglich sein)

Brauche eigentlich nur den command oder ein kleines Beispiel, kenne mich relativ gut mit AutoIt3 aus, nur fällt mir nicht ein wie ich das mit der Box hinbekomme. Hab schon gegoogelt, hat mir aber nicht weitergeholfen.

Danke im Vorraus.
GDI+ :
PHP Code:
_GDIPlus_GraphicsDrawRect 
Ich weiß nur nicht, ob PixelSearch schnell genug ist, aber das wirst du dann schon sehen.
Shadow992 is offline  
Thanks
1 User
Old 09/02/2010, 19:52   #3
 
elite*gold: 0
Join Date: Sep 2010
Posts: 70
Received Thanks: 0
Quote:
Originally Posted by Shadow992 View Post
GDI+ :
PHP Code:
_GDIPlus_GraphicsDrawRect 
Ich weiß nur nicht, ob PixelSearch schnell genug ist, aber das wirst du dann schon sehen.
Ich versuchs mal, danke dafür.

EDIT: Hab mit GDI+ rumgespielt, habs geschafft eine box zu zeichnen, aber die box ist einfach ein rechteck das komplett gefüllt ist. Ich wollte eher dass es ungefähr so aussieht:
zen90 is offline  
Old 09/02/2010, 20:36   #4
 
elite*gold: 0
Join Date: Sep 2010
Posts: 70
Received Thanks: 0
Hmm.. Wenn ich es mit Pixelsearch versuche, wird bei mir garkeine Box angezeigt.
zen90 is offline  
Old 09/02/2010, 20:39   #5
 
| Moep |'s Avatar
 
elite*gold: 0
Join Date: Apr 2008
Posts: 1,079
Received Thanks: 438
Quote:
Originally Posted by zen90 View Post
...Ich wollte eher dass es ungefähr so aussieht:
Dann setz dir halt mit "_GDIPlus_GraphicsDrawLine " dein rechteck selbs zusammen.



Quote:
Originally Posted by zen90 View Post
Hmm.. Wenn ich es mit Pixelsearch versuche, wird bei mir garkeine Box angezeigt.
Zeig mal dein Script
| Moep | is offline  
Old 09/02/2010, 21:00   #6
 
elite*gold: 0
Join Date: Sep 2010
Posts: 70
Received Thanks: 0
Quote:
Originally Posted by Shadow992 View Post
GDI+ :
PHP Code:
_GDIPlus_GraphicsDrawRect 
Ich weiß nur nicht, ob PixelSearch schnell genug ist, aber das wirst du dann schon sehen.
Quote:
Originally Posted by | Moep | View Post
Dann setz dir halt mit "_GDIPlus_GraphicsDrawLine " dein rechteck selbs zusammen.
Wie geht das? Kenne mich leider mit GDI+ nicht aus.

Mein Script:
Code:
; TargetBox
Func _Box()
$Box = 1
While 1
If $Box = 1 then
    $coord = pixelSearch($x1, $y1, $x2, $y2, $color, $tolerance)
            If IsArray($coord) = 1 Then
			       _GDIPlus_GraphicsDrawRect($hGraphic, $coord[0], $coord[1], 100, 100, $hPen)
			       _GDIPlus_PenDispose($hPen)
			       _GDIPlus_GraphicsDispose($hGraphic)
            EndIf
    EndIf
Wend
EndFunc
zen90 is offline  
Old 09/02/2010, 22:21   #7
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
du wirst mit pixelsearch niemals die nötige geschwindigkeit erreichen um nebenbei noch eine box um den pixel zu zeichnen -.-
lolkop is offline  
Old 09/02/2010, 23:14   #8
 
elite*gold: 0
Join Date: Sep 2010
Posts: 70
Received Thanks: 0
Naja, mir wäre es eigentlich egal wenn es zu langsam wäre. Ich will nur hinbekommen, eine Box um eine Farbe zu zeichnen.
zen90 is offline  
Old 09/03/2010, 11:44   #9
 
Shadow992's Avatar
 
elite*gold: 77
Join Date: May 2008
Posts: 5,430
Received Thanks: 5,876
Quote:
Originally Posted by zen90 View Post
Naja, mir wäre es eigentlich egal wenn es zu langsam wäre. Ich will nur hinbekommen, eine Box um eine Farbe zu zeichnen.
Ich weiß nicht wo dein Problem ist, aber bei mir zeichnet das automatisch eine leere Box:
PHP Code:
#Include <GDIPlus.au3>
_Box("Unbenannt - Editor")
Func _Box($Fenstername)
    
$x1=0
    $x2
=1110
    $y1
=0
    $y2
=800
    $color
=0
    $tolerance
=1

    $Box 
1
    $hwnd
=WinGetHandle ($Fenstername )
    While 
1
        
If $Box 1 Then
            $coord 
PixelSearch($x1$y1$x2$y2$color$tolerance,1,$hwnd)
            If 
IsArray($coord) = 1 Then
                _GDIPlus_Startup 
()
                
$hGraphic=_GDIPlus_GraphicsCreateFromHWND ($hwnd)
                
_GDIPlus_GraphicsDrawRect($hGraphic$coord[0], $coord[1], 100100)
                
_GDIPlus_GraphicsDispose ($hGraphic)
                
_GDIPlus_Shutdown ()
            EndIf
        EndIf
    
WEnd
EndFunc   
;==>_Box 
Shadow992 is offline  
Old 09/03/2010, 13:46   #10
 
PenGuin :O's Avatar
 
elite*gold: 2
Join Date: Mar 2008
Posts: 1,778
Received Thanks: 1,222
Wozu jedesmal ein GDI+ Startup?
Setz das einfach an den Anfang des Scriptes und das Shutdowm ans Ende und das Dispose auch, dann sparst du Performance und Zeit.
PenGuin :O is offline  
Old 09/03/2010, 16:11   #11
 
elite*gold: 0
Join Date: Sep 2010
Posts: 70
Received Thanks: 0
Vielen Dank, es funktioniert.. ist es möglich das "global" zu machen? Also nicht nur für ein Fenster?
zen90 is offline  
Old 09/03/2010, 18:07   #12
 
elite*gold: 0
Join Date: Mar 2009
Posts: 7,260
Received Thanks: 33,147
Einfach ein "ExitLoop" in die Schleife und die Funktion um ein paar Parameter erweitern.

Ich hab gleich mal ein Beispiel mit WinList hinzugefügt:
PHP Code:
#Include <GDIPlus.au3>

While True
    $WinList 
WinList()
    For 
$i 1 To $WinList[0][0]
        If 
$WinList[$i][0] <> "" Then
            
If BitAnd(WinGetState($WinList[$i][1]), 2Then
                _Box
($WinList[$i][0])
            EndIf
        EndIf
    
Next
WEnd

Func _Box
($WinName$Color 0$Tolerance 1$Step 1)
    
$WinPos WinGetPos($WinName)
    
$Left $WinPos[0]
    
$Right $Left $WinPos[2]
    
$Top $WinPos[1]
    
$Bottom $Top $WinPos[3]

    
$hWnd WinGetHandle($WinName)
    While 
True
        $Coord 
PixelSearch($Left$Top$Right$Bottom$Color$Tolerance$Step$hWnd)
        If 
Not @error Then
            _GDIPlus_Startup
()
            
$hGraphic=_GDIPlus_GraphicsCreateFromHWND($hWnd)
            
_GDIPlus_GraphicsDrawRect($hGraphic$Coord[0], $Coord[1], 100100)
            
_GDIPlus_GraphicsDispose($hGraphic)
            
_GDIPlus_Shutdown()
            
ExitLoop
        
EndIf
    
WEnd
EndFunc 
KDeluxe is offline  
Old 09/04/2010, 11:39   #13
 
elite*gold: 0
Join Date: Sep 2010
Posts: 70
Received Thanks: 0
Danke, das scheint aber fehlerhaft zu sein. Es zeichnet die box oft 10cm über dem Pixel.

Ist es möglich ein .png Bild zu zeichnen?
zen90 is offline  
Old 09/04/2010, 13:10   #14
 
| Moep |'s Avatar
 
elite*gold: 0
Join Date: Apr 2008
Posts: 1,079
Received Thanks: 438
Guck doch einfach in die Hilfe! Oder denkst du hier ham alle alle Befehle im Kopf, wir machen auch nichst anderes als in der Hilfe nach ner passenden Funktion zu suchen...
| Moep | is offline  
Old 09/04/2010, 14:34   #15
 
elite*gold: 0
Join Date: Sep 2010
Posts: 70
Received Thanks: 0
Quote:
Originally Posted by | Moep | View Post
Guck doch einfach in die Hilfe! Oder denkst du hier ham alle alle Befehle im Kopf, wir machen auch nichst anderes als in der Hilfe nach ner passenden Funktion zu suchen...
Hab gesucht, und nichts gefunden, sonst würde ich ja nicht fragen. ^^
zen90 is offline  
Reply


Similar Threads Similar Threads
[VB.Net] Linien und Rechtecke zeichnen
06/10/2010 - Coding Tutorials - 3 Replies
Hallo Elitepvpers! Heute zeige ich euch, wie ihr mit Visual basic 2008 Express Edition Form, wie zum Beispiel Rechtecke, Linien und auch Ellipese(hab ich das richtig geschrieben? :D) zeichnet. Um das Programm zu vollenden müssen wir 9 Schritte machen! Also legen wir los! Schritt 1 Starte dein Visual basic, und wähle oben links neues Projekt. Wähle jetzt den Typ Windows Forms Anwendung mit dem Namen Zeichnen Schritt 2 Vergrößere nun deine Form. Warum? Damit für die Grafik Elemente...
M2XT 2.0 BETA ~ injecten, hooken, zeichnen
03/26/2010 - Metin2 Hacks, Bots, Cheats, Exploits & Macros - 6 Replies
so, hier release ich mal die m2xt 2.0 beta! was ihr damit machen könnt: -dll injecten -funktionen hooken -sprites zeichnen (-> ingame menü) -rechtecke zeichnen (-> ingame menü) -text zeichnen (-> ingame menü) das ist für c++ geschrieben, ABER wenn das irgendwer für AutoIt umschreiben will soll er das tun! ich werde es nicht tun. der nachteil mit autoit: man müsste zusehen dass man irgendwie in den prozess reinkommt ;)
Mein Name auf dieses Bild drauf Zeichnen?
12/21/2009 - General Art - 13 Replies
---------------
Kann man das Zeichnen erlernen ?
11/05/2007 - General Art - 14 Replies
Hallo, wuste nicht wohin ich das posten soll artistic oder des andre Teils ^.^ Naja egal ... Wollte mal euch Künstler fragen ob man das Malen/Zeichnen erlernen kann oder ob es angeboren ist ? Also bei mir ist es so das ich Bilder egal wie kompliziert sie sind 1 zu 1 kopieren kann und das in verschiedene größen, aber ich bekomm keinen normalen Baum gezeichnet ^^ Wie ist es bei euch ?
Selber Zeichnen ...
02/01/2006 - General Art - 4 Replies
Wollt mal fragen ob ihr selber zeichnet und ob ihr mal was posten könnt. Ich hab früher tagtäglich gezeichnet aber eher mangas was mir momentan überhaupt nichts bringt, also wollt ich mich mal ins stylistische figürliches Zeichnen einarbeiten. Ich hab keinen eigenen Scanner und der Scanner meiner Ellies will meine Schwarzweiß Portraits irgendwie nie komplett einscannen, also werdet ihr wohl noch auf meine bissel warten müssen. Zeigt trotzdem mal was ihr so bis jetzt gezeichnet habt...



All times are GMT +2. The time now is 11:16.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.