Problem mit dem Dialog Ausschneiden

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.810
Standort
Düsseldorf
Trophäen
einige {*} {!} * !
#1
Ich stoße immer wieder auf folgendes Problem:
Ich möchte per Skript den Dialog Ausschneiden mit vorgegebenen Schnittmarken zum proportionalen Beschneiden aufrufen. Wenn dabei ein querformatiger Beschnitt bei einem hochformatigen Bild oder ein hochformatiger Beschnitt bei einem querformatigen Bild erfolgen soll, sind die Schnittmarken nicht richtig gesetzt. Erst wenn man im Dialog Hoch/Quer betätigt, sind sie richtig. Ich helfe mir dann im Skript mit folgendem Code:

Code:
'Markierungsauswahl (nur zur Erläuterung):
'0 - Markierung "Aus", Beschnitt nicht proportional (hier nicht zulässig)
'1 - Markierung "Goldener Schnitt", Beschnitt proportional
'2 - Markierung "Drittel", Beschnitt proportional
'3 - Markierung "Deutschland ab 10", Beschnitt proportional
'4 - Markierung "Deutschland bis 9", Beschnitt proportional
'5 - Markierung "Aus", Beschnitt proportional

Markierung = 5

if Schnittbreite > Schnitthoehe then SollHoch = 1 else SollHoch = 0
if Bildbreite > Bildhoehe then IstHoch = 1 else IstHoch = 0
if Schnittbreite = Schnitthoehe then SollHoch = 1 : IstHoch = 1

if (SollHoch Xor IstHoch) = 1 then
	if IstHoch = 1 then 
		msg = "Ein querformatiges Bild soll hochformatig beschnitten werden."
	else
		msg = "Ein hochformatiges bzw. quadratisches Bild soll querformatig beschnitten werden."
	end if
	msgbox msg & vbNewLine & "Daher muss im folgenden Dialog die Taste 'Hoch/Quer' betätigt werden!", _
	vbInformation,"Unbedingt beachten!"
	FF_SetParam "0,0," & Schnittbreite & "," & Schnitthoehe & "," & Bildhoehe & "," & Bildbreite & "," & Markierung & ",1"
else
	FF_SetParam "0,0," & Schnittbreite & "," & Schnitthoehe & "," & Bildbreite & "," & Bildhoehe & "," & Markierung & ",1"
end if

Antwort = FF_MultiDialog ("MultiCanvas",2)
if Antwort < 0 then
	msgbox "Das Bild wurde nicht beschnitten!",vbInformation,"Hinweis"
end if
Der Anwender ist also gefordert. Man kann dann im Skript durch Abfrage der Parameter kontrollieren, ob der Anwender der Anweisung Folge geleistet hat, gut ist die Lösung aber nicht.

Hat jemand einen Vorschlag oder kann Joachim hier etwas ändern?
 
Zuletzt bearbeitet:

hhoefling

Mitglied
Dabei seit
02.01.04
Beiträge
3.994
Standort
NRW/Ruhrgebiet
Trophäen
4! 2*
#2
AW: Problem mit dem Dialog Ausschneiden

Ist zwar OT, aber warum einmal > und einmal >= ?

Code:
if Schnittbreite > Schnitthoehe then SollHoch = 1 else SollHoch = 0
if Bildbreite >= Bildhoehe then IstHoch = 1 else IstHoch = 0
 

kuni-r

Mitglied
Dabei seit
26.11.02
Beiträge
5.454
Standort
Nähe Memmingen
Trophäen
auch
#3
AW: Problem mit dem Dialog Ausschneiden

...vielleicht, damit er das Quadrat mit behandeln kann?
 

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.810
Standort
Düsseldorf
Trophäen
einige {*} {!} * !
#5
AW: Problem mit dem Dialog Ausschneiden

Übrigens, es ist noch komplizierter.
Ist die Art des Ist- und Soll-Formats unterschiedlich, muss beim Dialogparameter Bildbreite und Bildhoehe vertauscht werden. Ich habe soeben oben den Code berichtigt.
 

hhoefling

Mitglied
Dabei seit
02.01.04
Beiträge
3.994
Standort
NRW/Ruhrgebiet
Trophäen
4! 2*
#6
AW: Problem mit dem Dialog Ausschneiden



Wenn ich ein Quadratisches in ein Qaudratisches beschneiden will
(also soll=200x200 ist=400x400)
dann sagt das Script das ich Hoch in Quer umschneiden wolle und somit dringend
die Taste "Hoch/Quer" betätigen soll.

Ist aber überflüssig bei Quadratischem beschnitt.
 

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.810
Standort
Düsseldorf
Trophäen
einige {*} {!} * !
#7
AW: Problem mit dem Dialog Ausschneiden

...Ist aber überflüssig bei Quadratischem beschnitt.
Hallo Heinz,
Du hast teilweise recht. Etwas quadratisches aus etwas quadratischem zu schneiden, bedarf keiner besonderen Beachtung. Aber soll ein quadratisches Bild querformatig beschnitten werden, muss auch Hoch/Quer betätigt werden, soll es quadratisch oder hochformatig beschnitten werden, ist das nicht notwendig.

Ich hatte ohne nähere Prüfung gehofft, dies mit >= abzudecken, was sich aber bei Kontrolle als falsch erwies.

Daher folgende Änderung im Skriptcode (oben im Code bereits vorgenommen):
Code:
if Schnittbreite > Schnitthoehe then SollHoch = 1 else SollHoch = 0
if Bildbreite > Bildhoehe then IstHoch = 1 else IstHoch = 0
if Schnittbreite = Schnitthoehe then SollHoch = 1 : IstHoch = 1
Jetzt müsste es für alle Fälle stimmen.

Aber die Betrachtung aller Einzelfälle, und da lieber Heinz sind wir uns sicher einig, geht am eigentliche Problem vorbei. Eine Lösung liegt nicht vor.
 

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.810
Standort
Düsseldorf
Trophäen
einige {*} {!} * !
#8
AW: Problem mit dem Dialog Ausschneiden

Hallo Joachim,
hast Du keine Idee wie das Problem zu lösen wäre?
Vielleicht könnte man das Ganz über die letzte Ziffer der Parameterkette steuern.

1 - wie gehabt
2 - querformatige und hochformatige Schnittvorgaben werden unabhängig vom Bildformat übernommen
3 - wie 2, jedoch wird Hoch/Quer deaktiviert

Das wäre eine klasse Lösung und damit könnte man z.B. die Bedienung eines Skripts wie Formatnormierung erheblich vereinfachen und sicherer machen.
 

Walter-46

Mitglied
Dabei seit
08.10.06
Beiträge
1.744
Standort
Meppen
Trophäen
*****!!! {**!!!}
#10
AW: Problem mit dem Dialog Ausschneiden

Nur durch das Entfernen der von den Benutzern gewünschten automatischen Anpassung des Beschnittrahmens an die Bildlage.
Dann könnte Harald sein Script :cool: doch theoretisch die Entscheidung des Programmes über eine GETPARAM-Abfrage während des Scriptablaufes erfragen? ...Zumindest wenn die 'automatische Anpassungsprozedur' zu diesem Zeitpunkt schon das Ergebnis hat...
 

Mecki14

Mitglied
Dabei seit
15.03.06
Beiträge
2.810
Standort
Düsseldorf
Trophäen
einige {*} {!} * !
#11
AW: Problem mit dem Dialog Ausschneiden

Nur durch das Entfernen der von den Benutzern gewünschten automatischen Anpassung des Beschnittrahmens an die Bildlage.
Hallo Joachim,
die von den Benutzern irgendwann mal gewünschte Anpassung ist mir klar. Aber ich habe mir vorgestellt, dass man unabhängig davon per Skript das anders steuern kann. Keine Chance?


Dann könnte Harald sein Script :cool: doch theoretisch die Entscheidung des Programmes über eine GETPARAM-Abfrage während des Scriptablaufes erfragen? ...Zumindest wenn die 'automatische Anpassungsprozedur' zu diesem Zeitpunkt schon das Ergebnis hat...
Das Ergebnis der GETPARAM-Abfrage liegt erst nach dem Beschnitt vor.
 
Oben