Bild in Picture(box) einfügen?

10/16/2015 17:48 Melli-#1
Ich hab schon gesucht, aber nie was gefunden.
Ich habe eine Inputbox die "$PicInput" heißt, ein Button der "$GO" heißt und ein "Pic" der "$Pic1" heißt.
Nun möchte ich, das wenn man auf den Button drückt, das dann das angegebene Bild aus dem Ordner gefunden wird und dann angezeigt wird.
Allerdings weiß ich nicht wie.

Hier mal so paar Denkvorgänge von mir:
Code:
$Pic1 = GUICtrlCreatePic($PicInput, 16, 136, 196, 116)
Code:
Case $Button1
	GUICtrlSetImage($Pic1,$PicInput & ".jpg")
EndSwitch
Aber irgendwie funktioniert das nicht so ganz..



$PicInput - ist dazu da, das dort der Filename rein kommt
10/16/2015 18:12 Deverixz#2
Setz mal unter dem Case eine MessageBox in folgendem Format:
MsgBox(0, "", $PicInput & ".jpg")
Drück drauf und nenn mir mal das Ergebnis ;P
Vielleicht wäre der ganze Code auch hilfreich ;p

//Wenn der Button $GO heisst, warum nennst du dann beim Case den Button $Button1 ?
Vielleicht liegts daran?
10/16/2015 18:39 Melli-#3
Quote:
Originally Posted by Deverixz View Post
Setz mal unter dem Case eine MessageBox in folgendem Format:
MsgBox(0, "", $PicInput & ".jpg")
Drück drauf und nenn mir mal das Ergebnis ;P
Vielleicht wäre der ganze Code auch hilfreich ;p

//Wenn der Button $GO heisst, warum nennst du dann beim Case den Button $Button1 ?
Vielleicht liegts daran?
Ouh man, das mir gerade voll peinlich. Das war so, das ich einen teil von dem Code herausnahm und ihn umschrieb aber vergaß das mein Button $GO hieß. Ich probier es eben mal.

Edit: Raus kommt: "12.jpg"


Code:
#RequireAdmin
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=C:\Users\Sarah-Acer-7736ZG\Desktop\Shaiya Level Bot\Form1.kxf
$Form1_1 = GUICreate("Shaiya Level Bot", 653, 263, 194, 118)
$Label2 = GUICtrlCreateLabel("Settings:", 288, 0, 134, 46)
GUICtrlSetFont(-1, 26, 400, 0, "Myriad Hebrew")
$Label3 = GUICtrlCreateLabel("Time before attack (milliseconds):", 288, 56, 161, 17)
$Input1 = GUICtrlCreateInput("2000", 296, 72, 121, 21)
$Label4 = GUICtrlCreateLabel("Time after every attack (milliseconds):", 288, 104, 181, 17)
$Input2 = GUICtrlCreateInput("2000", 296, 120, 121, 21)
$Label5 = GUICtrlCreateLabel("Time after every pick up ", 288, 160, 121, 17)
$Input3 = GUICtrlCreateInput("2000", 296, 184, 121, 21)
$Label6 = GUICtrlCreateLabel("Time before start to pick up", 288, 216, 133, 17)
$Input4 = GUICtrlCreateInput("2000", 296, 232, 121, 21)
$PicInput = GUICtrlCreateInput("", 16, 56, 121, 21)
$Label1 = GUICtrlCreateLabel("Picturename:", 32, 32, 66, 17)
$GO = GUICtrlCreateButton("GO", 40, 88, 75, 25)
$Pic1 = GUICtrlCreatePic($PicInput, 16, 136, 196, 116)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ####

HotKeySet("{F1}","starten")
HotKeySet("{F2}","pausieren")
HotKeySet("{F3}","beenden")

;While 1 ; ausgeklammert, da ansonsten der Button nicht funktioniert
 ;  Sleep(100) ; ich weiß auch das es mit ce und cs geht
;WEnd


While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		 Case $GO
			MsgBox(0, "", $PicInput & ".jpg")
	EndSwitch
 WEnd
Ich habe die Hotkeys eingeführt, da man erst im Spiel den Bot starten muss, und Controlsend nicht funktioniert bei dem Spiel da es sich immer freezet wenn man nicht gerade selber am spielen ist. Die While Schleife bevor das mit dem Case kommt, habe ich eingeführt weil vorher das Programm ohne Buttons bestand.
10/16/2015 18:39 Moneypulation#4
Also bei mir gehts. Dein Fehler muss an deinen Variablen bzw. deren Werte liegen
Wenn du den ganzen Code postest, der was mit dem Pic zu tun hat, finden wir sicher den Fehler
10/16/2015 18:49 Deverixz#5
Quote:
Originally Posted by Melli- View Post
Ouh man, das mir gerade voll peinlich. Das war so, das ich einen teil von dem Code herausnahm und ihn umschrieb aber vergaß das mein Button $GO hieß. Ich probier es eben mal.

Edit: Raus kommt: "12.jpg"

..

Ich habe die Hotkeys eingeführt, da man erst im Spiel den Bot starten muss, und Controlsend nicht funktioniert bei dem Spiel da es sich immer freezet wenn man nicht gerade selber am spielen ist. Die While Schleife bevor das mit dem Case kommt, habe ich eingeführt weil vorher das Programm ohne Buttons bestand.
Füg dann jz mal wieder dein
Code:
Case $GO
	GUICtrlSetImage($Pic1,$PicInput & ".jpg")
EndSwitch
ein. Und nenn mir das Ergebnis, obs funzt.
Mit der MsgBox weisst du nun, welcher Wert auch als Bild genommen werden soll. Vergewissere dich, dass das Bild auch im Selben Ordner wie im Script ist.

//Falls es trotz allem nicht geht, kannst du mich auch desbezüglich auf Skype adden :) (Hab den Code gerade btw, nur überflogen, vllt hab ich nochn Fehler übersehen.. oder so. xD)
10/16/2015 19:04 Melli-#6
Quote:
Originally Posted by Moneypulation View Post
Also bei mir gehts. Dein Fehler muss an deinen Variablen bzw. deren Werte liegen
Wenn du den ganzen Code postest, der was mit dem Pic zu tun hat, finden wir sicher den Fehler
Sogesehen war's das schon. Mit den Hotkeys (F1, F2 und F3) kommt es nicht mehr vor, da ich erstmal nur das Bild in der $Pic1 anzeigen möchte und dann weiter arbeite.

Quote:
Originally Posted by Deverixz View Post
Füg dann jz mal wieder dein
Code:
Case $GO
	GUICtrlSetImage($Pic1,$PicInput & ".jpg")
EndSwitch
ein. Und nenn mir das Ergebnis, obs funzt.
Mit der MsgBox weisst du nun, welcher Wert auch als Bild genommen werden soll. Vergewissere dich, dass das Bild auch im Selben Ordner wie im Script ist.

//Falls es trotz allem nicht geht, kannst du mich auch desbezüglich auf Skype adden :) (Hab den Code gerade btw, nur überflogen, vllt hab ich nochn Fehler übersehen.. oder so. xD)
Ich habe mich schon 10.000 mal vergewissert das die scheiß .JPG Dateien in einem Ordner sind ^^
10/16/2015 19:42 Deverixz#7
//geklärt via skype - kein handlungsbedarf mehr notwendig xD
10/16/2015 20:33 alpines#8
Quote:
Originally Posted by Deverixz View Post
//geklärt via skype - kein handlungsbedarf mehr notwendig xD
Der ist sehr wohl notwendig. Postet doch die Ergebnisse damit andere was davon haben.
10/16/2015 21:46 Melli-#9
Ein kleiner Bug existiert noch. Die Datei muss "12.png" heißen.

Code:
#RequireAdmin
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=C:\Users\Sarah-Acer-7736ZG\Desktop\Shaiya Level Bot\Form1.kxf
$Form1_1 = GUICreate("Shaiya Level Bot", 653, 263, 194, 118)
$Label2 = GUICtrlCreateLabel("Settings:", 288, 0, 134, 46)
GUICtrlSetFont(-1, 26, 400, 0, "Myriad Hebrew")
$Label3 = GUICtrlCreateLabel("Time before attack (milliseconds):", 288, 56, 161, 17)
$Input1 = GUICtrlCreateInput("2000", 296, 72, 121, 21)
$Label4 = GUICtrlCreateLabel("Time after every attack (milliseconds):", 288, 104, 181, 17)
$Input2 = GUICtrlCreateInput("2000", 296, 120, 121, 21)
$Label5 = GUICtrlCreateLabel("Time after every pick up ", 288, 160, 121, 17)
$Input3 = GUICtrlCreateInput("2000", 296, 184, 121, 21)
$Label6 = GUICtrlCreateLabel("Time before start to pick up", 288, 216, 133, 17)
$Input4 = GUICtrlCreateInput("2000", 296, 232, 121, 21)
$PicInput = GUICtrlCreateInput("", 16, 56, 121, 21)
$Label1 = GUICtrlCreateLabel("Picturename:", 32, 32, 66, 17)
$GO = GUICtrlCreateButton("GO", 40, 88, 75, 25)
$Pic1 = GUICtrlCreatePic("", 100, 130, 100, 100) ;2. Zahl = höhe
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ####

HotKeySet("{F1}","starten")
HotKeySet("{F2}","pausieren")
HotKeySet("{F3}","beenden")

;While 1
;   Sleep(100)
;WEnd


While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
		 Case $GO
			$read = GUICtrlSetImage($Pic1,@ScriptDir & "\" & $PicInput & ".jpg")
	EndSwitch
 WEnd
Mein Problem ist es jetzt auf den Hotkey zu übertragen.. also so:
Code:
Func starten()
;Deklaration
$x1 = 0
$y1 = 0

		While 1
		   If GUICtrlRead($read) = $Pic1 Then
			$result = _ImageSearch($Pic1,1,$x1,$y1,3000)
			If $result = 1 Then
				  ToolTip("It will attack now!",0,0)
Das " If GUICtrlRead($read) = $Pic1 Then" noch nicht getestet. Ohne das, klappt es nicht.
10/19/2015 15:08 elmarcia#10
you can't use @ScriptDir & "\" & $PicInput & ".jpg"
that way, $PicInput must be read it first to get the input value

Try this:


And for the _ImageSearch function: _ImageSearch(filename,...,$x,$y,...)
10/19/2015 16:47 Deverixz#11
Quote:
Originally Posted by alpines View Post
Der ist sehr wohl notwendig. Postet doch die Ergebnisse damit andere was davon haben.
Mhhhh... Nö.

Quote:
Originally Posted by elmarcia View Post
you can't use @ScriptDir & "\" & $PicInput & ".jpg"
that way, $PicInput must be read it first to get the input value

Try this:


And for the _ImageSearch function: _ImageSearch(filename,...,$x,$y,...)
I actually forgot that, damn. Thats that moment, when you got no time and try to do it fast! xD
10/20/2015 06:02 .simple'#12
Ich hab mich schon die ganze Zeit gefragt wieso ihr da nicht drauf gekommen seid :D
Auf die 12 seid ihr wahrsch. gekommenen weil das das handle des Pic's war
10/24/2015 20:26 Melli-#13
Quote:
Originally Posted by elmarcia View Post
you can't use @ScriptDir & "\" & $PicInput & ".jpg"
that way, $PicInput must be read it first to get the input value

Try this:


And for the _ImageSearch function: _ImageSearch(filename,...,$x,$y,...)
After I pressed the "GO" Button, the program start and close fast after I pressed it.
10/27/2015 21:10 elmarcia#14
Quote:
Originally Posted by Melli- View Post
After I pressed the "GO" Button, the program start and close fast after I pressed it.
Because u need all the previous code to make it work:
Tried with windows images and is working:
[Only registered and activated users can see links. Click Here To Register...]