Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 03:09

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

Advertisement



Bilder Vorschau

Discussion on Bilder Vorschau within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Dec 2009
Posts: 1,622
Received Thanks: 2,070
Bilder Vorschau

Hi Leute.

Ich habe vor ein Programm zu schreiben, in welchem der Benutzer verschiedene "FormStyles" aussuchen kann, und diese dann in sack und pack in einen ordner gesteckt werden.

Teil des Programms ist es, dass der Benutzer sich eine Vorschau jedes designs ansehen kann.

Ich dachte da an eine art DiaShow in welcher bei drücken auf den button "next"
das nächste bild angezeigt wird.

Wie mache ich das jetzt am schlausten?

Es handelt sich um 130 bilder, Sprich 130 Designs.

Eine variable setzen, und dann entsprechend bei next und back ändern.
freehuntx is offline  
Old 12/23/2010, 02:23   #2
 
elite*gold: 0
Join Date: Feb 2009
Posts: 542
Received Thanks: 112


@ hast du kein google benutzt? Wenn du was von autoit wissen willst immer bei google eingeben:
autoit + was du wissen willst. Habs grad mit autoit dia show gemacht und sofort die lösung bekommen
maxi39 is offline  
Old 12/23/2010, 20:54   #3
 
elite*gold: 0
Join Date: Dec 2009
Posts: 1,622
Received Thanks: 2,070
Das habe ich schon gesehen.
Aber es hilft mir nicht bei der umsetzung.

Ich möchte quasi so.

Anfangs gibt es 2 buttons.

1. <<
2. >>

beim ersten bild ist der button << disabled.
sobald man mit >> zum nächsten bild springt enabled << und man kann quasi wieder zurück.

der stand des derzeitigen bildes sollte in einer variable stehen, und je nach bild ein label ändern, dar jedes design einen eigenen namen hat.

drückt man dann auf den button "choose" wird das fenster geschlossen, und die variable bleibt bestehen.

welches design man möchte wird dann aus dieser variable gelesen und verwendet...


wenn ihr versteht wie ich es meine
freehuntx is offline  
Old 12/24/2010, 12:44   #4
 
elite*gold: 0
Join Date: Jul 2009
Posts: 2,241
Received Thanks: 848
Alle Bilder in nen Ordner und du kannst die mit
Code:
Func _LoadFiles($sDir)
	$get = _FileListToArray($sDir,"*",1)
	Local $array[$get[0]+1]
	$array[0] = $get[0]
	For $i = 1 To $get[0]
		$array[$i] = $get[$i]
	Next
	Return $array
EndFunc
auslesen.

Ich bin gerade an nem anderen Tool, aber die Funktion könnte ganz nützlich sein:
Code:
Func _SetImageSize($sImage,$sMaxW,$sMaxH)
	_GDIPlus_Startup()
	$hImage = _GDIPlus_ImageLoadFromFile($sImage)
	$w = _GDIPlus_ImageGetWidth($hImage)
	$h = _GDIPlus_ImageGetHeight($hImage)
	_GDIPlus_ImageDispose($hImage)
	_GDIPlus_Shutdown()
	If $w > $h Then
		$new_w = $sMaxW
		$new_h = $new_w / ( $w / $h )
	Else
		$new_h = $sMaxH
		$new_w = $new_h * ( $w / $h )
	EndIf
	Local $array[2] = [$new_w,$new_h]
	Return $array
EndFunc
EDIT:
Tadelüüü~ Da hast du:
Code:
#include <Array.au3>
#include <File.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>

;-----------------------------Start Up--------------

$loadFile = _LoadFiles(@ScriptDir & "\pictures") ;pfad eventuell abändern
_ArrayDisplay($loadFile)

Global $ImageArray[$loadFile[0]+1][2]
$ImageArray[0][0] = $loadFile[0]

For $i = 1 To $loadFile[0]
$setImage = _SetImageSize(@ScriptDir & "\pictures\"&$loadFile[$i],600,600) ;Pfad und Dimensionen eventuell abändern
$ImageArray[$i][0] = $setImage[0]
$ImageArray[$i][1] = $setImage[1]
Next
_ArrayDisplay($ImageArray)

;------------------------------GUI--------------------

$gui = GUICreate("", 600, 650) ;Dimensionen eventuell abändern
$Pic = GUICtrlCreatePic("",0,0,600,600)
$Button_n = GUICtrlCreateButton("Next", 440, 616, 123, 25)
$Button_p = GUICtrlCreateButton("Previous", 32, 616, 123, 25)
GUICtrlSetState(-1,$GUI_DISABLE)
GUISetState(@sw_show)

;-----------------------------Viewing--------------------

$n = 1

GUICtrlSetImage($Pic,@ScriptDir & "\pictures\"&$loadFile[$n]) ;pfad eventuell abändern
GUICtrlSetPos($Pic,0,0,$ImageArray[$n][0],$ImageArray[$n][1])

While 1 
	Switch GUIGetMsg()
	Case -3
		Exit
	Case $Button_n
		$n += 1
		If $n > 1 Then GUICtrlSetState($Button_p,$GUI_ENABLE)
		If $n = $ImageArray[0][0] Then GUICtrlSetState($Button_n,$GUI_DISABLE)
		
		GUICtrlSetImage($Pic,@ScriptDir & "\pictures\"&$loadFile[$n]) ;pfad eventuell abändern
		GUICtrlSetPos($Pic,0,0,$ImageArray[$n][0],$ImageArray[$n][1])
		
	Case $Button_p
		$n -= 1
		If $n = 1 Then GUICtrlSetState($Button_p,$GUI_DISABLE)
		If $n < $ImageArray[0][0] Then GUICtrlSetState($Button_n,$GUI_ENABLE)
		
		GUICtrlSetImage($Pic,@ScriptDir & "\pictures\"&$loadFile[$n]) ;pfad eventuell abändern
		GUICtrlSetPos($Pic,0,0,$ImageArray[$n][0],$ImageArray[$n][1])
		
	Case $Pic
		MsgBox(0,"","Clicked ;D")
	EndSwitch
WEnd

;--------------------------Functions--------------------

Func _LoadFiles($sDir)
	$get = _FileListToArray($sDir,"*",1)
	Local $array[$get[0]+1]
	$array[0] = $get[0]
	For $i = 1 To $get[0]
		$array[$i] = $get[$i]
	Next
	Return $array
EndFunc

Func _SetImageSize($sImage,$sMaxW,$sMaxH)
	_GDIPlus_Startup()
	$hImage = _GDIPlus_ImageLoadFromFile($sImage)
	$w = _GDIPlus_ImageGetWidth($hImage)
	$h = _GDIPlus_ImageGetHeight($hImage)
	_GDIPlus_ImageDispose($hImage)
	_GDIPlus_Shutdown()
	If $w > $h Then
		$new_w = $sMaxW
		$new_h = $new_w / ( $w / $h )
	Else
		$new_h = $sMaxH
		$new_w = $new_h * ( $w / $h )
	EndIf
	Local $array[2] = [$new_w,$new_h]
	Return $array
EndFunc
Ich hab's jetzt mit einfachem Anklicken gemacht, und die GUI bzw. maximale Bildergröße müsstest du auch noch definieren. Bei _FileListToArray kannst du dir mit WildCards auch direkt die Dateiendungen abfragen... nich mein Ding :x

EDIT No2:
Label:
Die Dateinamen müsssen einfach nur mit den Stylenamen übereinstimmen (Endungenentfernen nich vergessen):
Code:
;-----------------------------Start Up--------------
Global $LabelArray[$loadFile[0]+1]
$LabelArray[0] = $loadFile[0]

For $i = 1 To $loadFile[0]
$setImage = _SetImageSize(@ScriptDir & "\pictures\"&$loadFile[$i],600,600) ;Pfad und Dimensionen eventuell abändern
$ImageArray[$i][0] = $setImage[0]
$ImageArray[$i][1] = $setImage[1]
$string = StringSplit($loadFile[$i],".")
$LabelArray[$i] = $string[1]
Next
;------------------------------GUI--------------------
$Label = GUICtrlCreateLabel("",200,616,100,15)
;-----------------------------Viewing--------------------
GUICtrlSetData($Label,$LabelArray[$n])
mipez is offline  
Reply


Similar Threads Similar Threads
[Vorschau] Mac-10
12/06/2010 - WarRock - 23 Replies
Ich hab mal paar Screenshots & Vergleiche zwischen der Famas & Mac-10 gemacht, und bin drauf gekommen das die Waffen fast gleich sind, wobei ich die Mac-10 besser finde :D Hier erstmal paar Screens : Normale Sicht http://img189.imageshack.us/img189/756/screenshot 001yvj.jpg Normale Sicht http://img9.imageshack.us/img9/5219/screenshot010 p.jpg Normale Sicht http://img19.imageshack.us/img19/447/screenshot00 3kt.jpg
[Bilder] Neue Rose Desktop Bilder!!! HOT
08/07/2010 - CrossFire - 22 Replies
Hallo! ich wär grade wieder mal China CF besuchen und habe da was schönes gefunden !! http://www4.pic-upload.de/06.08.10/jr5x7r1q28a.jp g http://www4.pic-upload.de/06.08.10/3mmqxfpaevti.j pg http://up.anhso.net/upload/20100604/05/o/anhso-27 _1.jpg"]http://up.anhso.net/upload/20100604/0 5/o/anhso-27_1.jpg http://up.anhso.net/upload/20100604/05/o/anhso-32 _3.jpg
WoW: T10 Vorschau
11/26/2009 - Gaming News - DE - 11 Replies
Eine offizielle Vorschau auf mehr Teile der T10 Rüstungen sind jetzt verfügbar. Bis jetzt sieht alles gut aus. Wir werden sehen wie sie im Spiel umgesetzt werden sobald 3.3 erhältlich ist. T10 Preview hat eine Menge der neuen T10 Rüstungen. Schaut sie euch an. (via tentonhammer, thx!)



All times are GMT +1. The time now is 03:10.


Powered by vBulletin®
Copyright ©2000 - 2026, 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 ©2026 elitepvpers All Rights Reserved.