ImageSelector

Skript Vergleichende Selektion umfangreicher Bilderserien 1

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.813
Standort
Düsseldorf
Trophäen
einige {*} {!} * !
#41
AW: Vergleichende Selektion umfangreicher Bilderserien

Mich hat die Forderung zur Auswahl Farben zu benutzen veranlasst, mich nach einer Lösung um zu sehen. Dabei ist mir der
Befehl FF_SetControlImage aufgefallen, der erlaubt, einen BUTTON mit einem Bild zu überlagern.

Hier ist ein Beispielcode für eine Ampelschaltung. Vorausgesetzt wird die Ablage von 3 Bildern der Größe 32 x 32 im Skriptordner
mit den Farben Rot, Gruen und Gelb, die auch so benannt werden, nämlich rot.jpg, gruen.jpg und gelb.jpg.

Code:
'FFSubmenu=Test
'FFName=Ampelschaltung

'Es soll demonstriert werden, dass ein Button mit jeder Betätigung die Farbe wechseln kann.
'Leider muss dazu jeweils der Dialog mit FF_CloseDialog geschlossen werden, Versuche mit 
'FF_RefreshDialog führten zu keinem Erfolg.
'Wenn jemand eine bessere Lösung weiß, wäre ich sehr interessiert.
'Mecki14

'Voraussetzung:
'Ablage von 3 Bildern der Größe 32 x 32 im Skriptordner mit den Farben Rot, Gruen und Gelb,
'die auch so benannt werden, nämlich rot.jpg, gruen.jpg und gelb.jpg

Option Explicit
Dim SkriptPfad, Flag

Sub Dialog
'** Start Dialog Ampelschaltung **
FF_AddDialog "Ampelschaltung",125,65
FF_AddControl "Ampelschaltung","Ampel","BUTTON",40,22,16,16
FF_AddControl "Ampelschaltung","Ende","BUTTON",78,46,33,11
FF_AddControl "Ampelschaltung",Flag,"STATIC",42,10,13,10
FF_SetControlStyle "Ampelschaltung",Flag,1
'** End Dialog Ampelschaltung **
End Sub

SkriptPfad = FF_GetFFPathEx(1) & "\Script\"

Flag = "ok!"
call Dialog
FF_SetControlImage "Ampelschaltung","Ampel",Skriptpfad & "gruen.jpg"



do
	Select Case FF_ShowDialog ("Ampelschaltung")	'Befehle abfragen und Dialog öffnen
	Case "Ampel"									'Ampelschaltung
		Select Case Flag							'Flagabfrage zur Änderung der Ampelfarbe
			Case "?"
				FF_CloseDialog "Ampelschaltung"
				Flag = "bad"
				call Dialog
				FF_SetControlImage "Ampelschaltung","Ampel",Skriptpfad & "rot.jpg"
			Case "bad"
				FF_CloseDialog "Ampelschaltung"
				Flag = "ok!"
				call Dialog
				FF_SetControlImage "Ampelschaltung","Ampel",Skriptpfad & "gruen.jpg"
			Case "ok!"
				FF_CloseDialog "Ampelschaltung"
				Flag = "?"
				call Dialog
				FF_SetControlImage "Ampelschaltung","Ampel",Skriptpfad & "gelb.jpg"
		Case else
		End select
	Case "CANCEL"									'bei Cancel Abbruch des Skript
		exit do
	Case "Ende"										'bei Ende Schleife verlassen
		exit do
	Case Else
	End Select
loop
Die Startfarbe und die Folge der Farben kann natürlich beliebig angepasst werden.

Leider muss für den Farbwechsel jeweils der Dialog mit FF_CloseDialog geschlossen werden. Versuche mit FF_RefreshDialog führten
zu keinem Erfolg.
Wenn jemand eine bessere Lösung weiß, wäre ich sehr interessiert.

PS:
Der Befehl in der FF-Bedienungsanleitung FF_GetPathEx zur Ermittlung von FixFoto-Ordnern ist übrigens falsch. Richtig muss er
FF_GetFFPathEx heißen (bereits gemeldet).
 
Zuletzt bearbeitet:

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.813
Standort
Düsseldorf
Trophäen
einige {*} {!} * !
#42
AW: Vergleichende Selektion umfangreicher Bilderserien

... bleibt mir im Augenblick nur die Vermutung, dass die Umrechnung zwischen Bildschirmpixel und Dialogeinheiten anders ist als unterstellt
Hallo Heinrich,
dieselbe Frage habe ich mir auch schon mal gestellt, nämlich ist das immer der Faktor 2. Werner hat mir daraufhin geantwortet:
.. dass hängt von der Auflösung Deiner/s Grafikkarte/Bildschirms ab und wieviel Pixel einer Dialogeinheit entspricht.
Beim Erzeugen eines Dialoges gibst Du für Breite,Höhe,Position ja keine Pixel sondern Dialogeinheiten an.
Du siehst die Umrechnung ist nicht einfach. Ich könnte mir einen Vordialog vorstellen in kleiner Größe, bei dem man ein Element mit FF_GetControlHeight und/oder FF_GetControlWidth vermisst. Da die Dialogeinheiten dieses Elements bekannt sind, kann man einen individuellen Umrechnungsfaktor erstellen, der dann für den Folgedialog genutzt wird.
Das ist sicher etwas umständlich, aber vielleicht doch eine nutzbare Idee.
 
Dabei seit
23.08.04
Beiträge
295
#43
AW: Vergleichende Selektion umfangreicher Bilderserien

Ich schlage vor, diesen sehr breuchbaren ImageSelector in die FixFoto Skriptsammlung aufzunehmen. Da weiß man gleich, wo man ihn finden kann.
Gruß
WolfgangSch
 

ralfeberle

FF-Team
Mitarbeiter
Dabei seit
10.07.02
Beiträge
11.289
Trophäen
10*15!4{*}1{!}
#44
AW: Vergleichende Selektion umfangreicher Bilderserien

Hallo!

Beitrag #1 enthält nun einen Screenshot zur Demonstration, um Unentschlossene und Kaumskriptnutzer heiß zu machen, sich das Meisterstück doch mal zu installieren. ;)

Gruß,

Ralf
 

MarcoS

Mitglied
Dabei seit
09.08.02
Beiträge
564
Standort
24598 Boostedt
#45
AW: Vergleichende Selektion umfangreicher Bilderserien

Hallo Heinrich,

Dein script verdient ein dickes Lob!

Dennoch:

Frage: Wie ist der aktuelle Stand mit den Dateinamen für die Kopier/Verschieb-Ordner? Bei meinem ersten Textlauf bietet er nach "Beenden" die Optionen an und hat nur unvollständige Pfadangaben vorgeschlagen. Außerdem für alle drei Option dasselbe Verzeichnis. Oder ist das noch ein Fehler?

Vorschlag: Könntest Du für die OK-Selektion nicht auch noch "ignorieren" anbieten? Dann blieben die guten in dem Verzeichnis, wo sie bei mir sein sollen.

Gruß Marco
 

opi-hs

Mitglied
Dabei seit
09.02.05
Beiträge
558
Standort
Köln
#46
AW: Vergleichende Selektion umfangreicher Bilderserien

Hallo Marco,
ich kann mir im Augenblick das beschriebene Verhalten nur so erklären, dass Deine Pfaddefinitionen ein gutes Stück länger sind, als die Dialogfelder für die Pfadangabe wiedergeben können. Offensichtlich werden die Angaben dür die Auswahlpfade teilweise verschluckt und nicht mehr dargestellt (unvollständig und dadurch scheinbar identisch).

Ich bin zur Zeit intensiv dabei, eine neue Version zu entwickeln; ich könnte bei dieser Gelegenheit die Pfadfelder etwas länger machen. Hier schon mal die Abbildung eines Musterbildschirms:

Optimal für 1280x1024 angepasste Großdarstellung

Bis in Kürze grüßt
Heinrich
 

Langeooger

Mitglied
Dabei seit
26.04.04
Beiträge
103
Standort
26817 Rhauderfehn
Trophäen
!
#47
AW: Vergleichende Selektion umfangreicher Bilderserien

ich kann mir im Augenblick das beschriebene Verhalten nur so erklären, dass Deine Pfaddefinitionen ein gutes Stück länger sind, als die Dialogfelder für die Pfadangabe wiedergeben können. Offensichtlich werden die Angaben dür die Auswahlpfade teilweise verschluckt und nicht mehr dargestellt (unvollständig und dadurch scheinbar identisch).
Darüber war ich auch gestolpert, aber meine Pfadangaben sind auch länger als Dein Dialogfeld und dann kommt es zu diesem Effekt. Einmal in das Feld klicken und mit dem cursor nach rechts, dann sieht man irgendwann auch das Ende der Pfadangabe.

Ich bin bisher schwer begeistert von Deinem Script und schon gespannt auf die Neuerungen.

Viele Grüße
Wolfram
 

Steku

Mitglied
Dabei seit
16.08.04
Beiträge
265
#48
AW: Vergleichende Selektion umfangreicher Bilderserien

Hallo,
ein sehr schönes Skript.
Respekt für die viele Arbeit.
Zum diskutieren hätte ich noch einen Vorschlag:
1. Ich fände es einfacher, wenn ich nur einen Button für gut und schlecht hätte. Und gut ist voreingestellt. Bei Klick auf Farbfeld ändert sich Button zur anderen Farbe. Zusätzlich zum Gut/Schlecht Feld könnte man ja noch ein Select Feld mit Haken haben, wenn einem die zwei Auswahlmöglichkeiten Gut/Schlecht nicht reichen. Damit hätte man sogar vier mögliche Entscheider: Gut+unselektiert, Gut+selektiert, Schlecht+unselektiert und Schlecht+selektiert.
So könnte ein möglicher Sichtungsvorgang mit wenigen Klicks gestaltet werden. Ich z.Bsp. würde sichten in Gut (bleiben im Verzeichnis), schlecht(könnten gelöscht werden) und Gut+selektiert (sind die noch zu bearbeitenden Bilder und werden verschoben in Verzeichnis und anschließend in FF bearbeitet). Ich müßte also nur bei schlechten auf die Farbauswahl klicken und bei zu bearbeitenden aufs Selektierfeld, da gut ja schon voreingestellt ist. Jetzt muss ich bei jedem Bild klicken oder mir halt eine unlogischere Auswahl merken. Unselektiert bleibt in Verzeichnis, schlecht markierte löschen und gut markierte in Verzeichnis zum Bearbeiten. Also gehen geht jetzt auch schon, aber vielleicht wäre die andere Lösung einfacher zum Merken und man hätte sogar eine 4. Möglichkeit Bilder zu sortieren.
2. bei schlecht fände ich die Auswahl löschen noch gut in den Optionen
Gruß
 

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.813
Standort
Düsseldorf
Trophäen
einige {*} {!} * !
#50
AW: Vergleichende Selektion umfangreicher Bilderserien

Viele beschäftigt wohl die Art der Auswahl. Da ich dieses tolle Skript nicht nur zur Selektion von guten und schlechten Bildern verwende, sondern auch zur Auswahl von z.B.

  • Fotos für ein Fotobuch
  • Fotos für einen Kalender
  • Fotos zum Versenden an Freunden per E-Mail
  • Fotos zur Veröffentlichung im Internet
  • Fotos zur Teilnahme an einem FF_Wettbewerb
  • ecetera
schlage ich eine neutrale Farbselektion vor, z.B. Rot, Grün, Gelb.

Die Farbflächen sind als Button ausgebildet und sowohl ein Betätigen der Farbfläche als auch ein Klick auf das Auswahlkästchen, aktiviert die getroffenen Auswahl.
Voreingestellt sein könnte z.B. immer Gelb.

Code:
'FFSubmenu=Test
'FFName=Auswahl

Option Explicit
Dim SkriptPfad, Flag, Flag1

'** Start Dialog Auswahl **
FF_AddDialog "Auswahl",81,129
FF_AddControl "Auswahl","Gruen","BUTTON",14,10,16,16
FF_AddControl "Auswahl","GrB","BOOL",19,26,8,8
FF_SetControlStyle "Auswahl","GrB",16384
FF_AddControl "Auswahl","Gelb","BUTTON",14,45,16,16
FF_AddControl "Auswahl","GeB","BOOL",19,61,9,8
FF_SetControlStyle "Auswahl","GeB",16384
FF_AddControl "Auswahl","Rot","BUTTON",14,80,16,16
FF_AddControl "Auswahl","RoB","BOOL",19,96,8,8
FF_SetControlStyle "Auswahl","RoB",16384

FF_AddControl "Auswahl","Gruen1","BUTTON",33,10,16,16
FF_AddControl "Auswahl","GrB1","BOOL",37,26,8,8
FF_SetControlStyle "Auswahl","GrB1",16384
FF_AddControl "Auswahl","Gelb1","BUTTON",33,45,16,16
FF_AddControl "Auswahl","GeB1","BOOL",37,61,8,8
FF_SetControlStyle "Auswahl","GeB1",16384
FF_AddControl "Auswahl","Rot1","BUTTON",33,80,16,16
FF_AddControl "Auswahl","RoB1","BOOL",37,96,8,8
FF_SetControlStyle "Auswahl","RoB1",16384
FF_AddControl "Auswahl","Ende","BUTTON",38,113,33,11
'** End Dialog Auswahl **

SkriptPfad = FF_GetScriptPath() & "\"

'Vorbelegung
FF_SetControlImage "Auswahl","Gruen",Skriptpfad & "gruen.jpg"
FF_SetControlImage "Auswahl","Gelb",Skriptpfad & "gelb.jpg"
FF_SetControlImage "Auswahl","Rot",Skriptpfad & "rot.jpg"
FF_SetControl "Auswahl","GeB","1"
Flag = "gelb"
FF_SetControlImage "Auswahl","Gruen1",Skriptpfad & "gruen.jpg"
FF_SetControlImage "Auswahl","Gelb1",Skriptpfad & "gelb.jpg"
FF_SetControlImage "Auswahl","Rot1",Skriptpfad & "rot.jpg"
FF_SetControl "Auswahl","GeB1","1"
Flag1 = "gelb"



do

	Select Case FF_ShowDialog ("Auswahl")	'Befehle abfragen und Dialog öffnen
		Case "Gruen","GrB"
			FF_SetControl "Auswahl","GrB","1"
			FF_SetControl "Auswahl","GeB","0"
			FF_SetControl "Auswahl","RoB","0"
			Flag = "gruen"
		Case "Gelb","GeB"
			FF_SetControl "Auswahl","GrB","0"
			FF_SetControl "Auswahl","GeB","1"
			FF_SetControl "Auswahl","RoB","0"
			Flag = "gelb"	
		Case "Rot","RoB"
			FF_SetControl "Auswahl","GrB","0"
			FF_SetControl "Auswahl","GeB","0"
			FF_SetControl "Auswahl","RoB","1"
			Flag = "rot"
		Case "Gruen1","GrB1"
			FF_SetControl "Auswahl","GrB1","1"
			FF_SetControl "Auswahl","GeB1","0"
			FF_SetControl "Auswahl","RoB1","0"
			Flag1 = "gruen"
		Case "Gelb1","GeB1"
			FF_SetControl "Auswahl","GrB1","0"
			FF_SetControl "Auswahl","GeB1","1"
			FF_SetControl "Auswahl","RoB1","0"
			Flag1 = "gelb"	
		Case "Rot1","RoB1"
			FF_SetControl "Auswahl","GrB1","0"
			FF_SetControl "Auswahl","GeB1","0"
			FF_SetControl "Auswahl","RoB1","1"
			Flag = "rot"
		Case "CANCEL"								'bei Cancel Abbruch des Skript
			exit do
		Case "Ende"									'bei Ende Schleife verlassen
			msgbox "Auswahl = " & Flag & " und " & Flag1
			exit do
		Case Else
	End Select
loop

FF_CloseDialog "Auswahl"
Zum Code sind mit entsprechenden Farben die Bilder rot.jpg, gelb.jpg und gruen.jpg (Größe 32 x 32) im FF-Skriptordner erforderlich.

Die Vorteile:
  • jeder kann sich unter der Farbe vorstellen, was er will
  • die Button sind groß genug um sie leicht zu trefffen
 
Zuletzt bearbeitet:

Sasssoft

Mitglied
Dabei seit
02.07.04
Beiträge
5.500
Standort
Albersdorf (Schleswig-Holstein)
Trophäen
{******} ********* !!!!!!!!!!!!
#51
AW: Vergleichende Selektion umfangreicher Bilderserien

Die Vorteile:

* jeder kann sich unter der Farbe vorstellen, was er will
* die Button sind groß genug um sie leicht zu trefffen
Diese Art der Vorauswahl würde ich auch begrüßen. Vielleicht sollte man die Farbreihenfolge noch umkehren, also rot nach oben. Dann hätte man eine Farbampel, mit der jeder ohne große Erklärung etwas anfangen kann.

Gruß
Alfred
 

hhoefling

Mitglied
Dabei seit
02.01.04
Beiträge
3.994
Standort
NRW/Ruhrgebiet
Trophäen
4! 2*
#52
AW: Vergleichende Selektion umfangreicher Bilderserien

Schönes Beispiel das zeigt wie viel Arbeit eine ansprechende GUI macht.
Irgendwann sieht man im Script den Wald vor lauter GUI nicht mehr. :cool:
 

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.813
Standort
Düsseldorf
Trophäen
einige {*} {!} * !
#53
AW: Vergleichende Selektion umfangreicher Bilderserien

... wie viel Arbeit eine ansprechende GUI macht.
Das stimmt, wird aber leider oft von den Entwicklern vernachlässigt. Die Bedienoberfläche sollte möglichst intuitiv bedienbar sein. Gut ist dann noch, wenn eine kurze Erläuterung angeboten wird.
 

JKS

FF-Team
Dabei seit
06.06.02
Beiträge
6.713
#54
AW: Vergleichende Selektion umfangreicher Bilderserien

Das stimmt, wird aber leider oft von den Entwicklern vernachlässigt. Die Bedienoberfläche sollte möglichst intuitiv bedienbar sein.
Immer wieder gern den Entwicklern vorgeworfen und dabei vergessen, dass Intuition individell höchst unterschiedlich ausfällt...
 

Walter-46

Mitglied
Dabei seit
08.10.06
Beiträge
1.744
Standort
Meppen
Trophäen
*****!!! {**!!!}
#57
AW: Vergleichende Selektion umfangreicher Bilderserien

Diese Art der Vorauswahl würde ich auch begrüßen. Vielleicht sollte man die Farbreihenfolge noch umkehren, also rot nach oben. Dann hätte man eine Farbampel, mit der jeder ohne große Erklärung etwas anfangen kann.

Gruß
Alfred
Hallo Alfred,

Du kannst ja im Scriptverzeichnis unter dem Namen 'rot.jpg' ein Bildchen mit der Farbe grün abspeichern und umgekehrt... ;D ;D ;D



Die Farbflächen sind als Button ausgebildet und sowohl ein Betätigen der Farbfläche als auch ein Klick auf das Auswahlkästchen, aktiviert die getroffenen Auswahl.
@harald
Meine Versuche, das Häkchen innerhalb des Farbbuttons zu plazieren sind daran gescheitert, dass das Farbbutton bei Mouseover immer das "Bool"-Häkchen überdeckte. Einzige Möglichkeit: 4 kleine Farbbuttons wie ein farbiger Rahmen um das Häkchen herum, die optisch auf der GUI als ein Ganzes wirken. Oder kann man die Eigenschaften der FF_SetcontrolImage dahingehend beeinflussen, dass es im Hintergrund bleibt?

Viele Grüße
Walter
 
Zuletzt bearbeitet:

Sasssoft

Mitglied
Dabei seit
02.07.04
Beiträge
5.500
Standort
Albersdorf (Schleswig-Holstein)
Trophäen
{******} ********* !!!!!!!!!!!!
#58
AW: Vergleichende Selektion umfangreicher Bilderserien

Hallo Walter!
Du kannst ja im Scriptverzeichnis unter dem Namen 'rot.jpg' ein Bildchen mit der Farbe grün abspeichern und umgekehrt
Gute Idee :). Setzt für eine sinnvolle Anwendung aber voraus, dass die Buttons keinerlei Beschriftung tragen, die der Ampelwirkung widersprechen würden.

Gruß
Alfred
 

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.813
Standort
Düsseldorf
Trophäen
einige {*} {!} * !
#59
AW: Vergleichende Selektion umfangreicher Bilderserien

.... Pfaddefinitionen sind ein gutes Stück länger als die Dialogfelder für die Pfadangabe wiedergeben können

... ich könnte bei dieser Gelegenheit die Pfadfelder etwas länger machen
Hallo Heinrich,
die Dialogfelder für Pfadangaben sind immer zu kurz.

Nur so eine Idee:
Wenn man für die Pfadanzeige den Stil rechtsbündig angibt, kann man zumindest immer den letzten Unterordner erkennen, was meiner Ansicht nach das wichtigste ist.
 

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.813
Standort
Düsseldorf
Trophäen
einige {*} {!} * !
#60
AW: Vergleichende Selektion umfangreicher Bilderserien

Walter-46; hat gesagt.:
... kann man die Eigenschaften der FF_SetcontrolImage dahingehend beeinflussen, dass es im Hintergrund bleibt?
Leider wüsste ich nicht wie?
Deshalb ja auch von mir die Darstellung des Button und jeweils darunter, angeklebt sozusagen, das Häkchenfeld mit der Eigenschaft BS_Notify. Wenn einer der Button betätigt wird, wird das dazugehörige Häkchen gesetzt.

Übrigens für die Skripteschreiber:
Man kann auch ein IMAGE als Buttton verwenden, indem man ihm mit FF_SetControlStyle den Stil BS_NOTIFY zuordnet :cool:.
 
Oben