Skript Verzerrungen

AW: Verzerrungen

Hallo Frank,
... Es sieht nur etwas ungewohnt aus, wenn am Rand die Symbole breiter aussehen anstatt schmaler? ...
Da hast Du schon recht; das Auge erwartet an dieser Stelle gewohnheitsmäßig eine Stauchung in der horizontalen Proportionalität.

Gruß
Heinrich
 
AW: Verzerrungen

Hallo Alfred,
... weil sie so ganz anders ist als die üblichen Bedienungen...
Auch beim guten alten Dampftelefon, an das die Leute sich über Jahrzehnte gewöhnt haben, musste man plötzlich auf die bisher übliche Wählscheibe (im Fachjargon: Nummernschalter) zugunsten einer Tastatur verzichten.:P
 
AW: Verzerrungen

Ich sehe in der anderen Bedienung des Dialogs aber keinen Vorteil. Es sollte doch immer versucht werden, ein Programme (in diesem Falle mitsamt Skripten) so einheitlich wie möglich zu gestalten, oder sehe ich das falsch?

Ich wiederhole es: für den einfachen Anwender ist es nicht einsichtig, warum hier anders verfahren werden muss als sonst üblich. Natürlich: man gewöhnt sich an alles. Aber wenn man lange nicht mit einer Funktion (einem Skript) gearbeitet hat, ist es wieder vergessen und man fängt von vorn an. Das mag nicht jeder und verzichtet dann lieber ganz.

Alles nur meine Meinung. Ich komme auch mit der ungewöhnlichen Bedienung klar, aber ich bastele und probiere auch viel herum. Wer nur schnell mal eine Aufgabe erledigen will, möchte nicht erst ein anderes Bedienkonzept lernen!

Ich möchte jetzt auch nicht länger auf diesem Thema herumreiten. Da sich sonst niemand meldet, bin ich ja vielleicht der einzige, der sich daran stört ???. Konzept und Ergebnisse des Skripts sind auf jeden Falls sehr pfiffig und gut, keine Frage!

2:CPFOyyhIQgN0Fg0JMzr68JERzRi-tWUy_640.jpg
Gruß
Alfred
 
Zuletzt bearbeitet:
AW: Verzerrungen

Hallo Alfred,
sehr schön, Deine letzt Kreation (ebenso wie die anderen).

Gruß vom Rhein, wo auch der Frühling auf sich warten lässt.
Heinrich
 
AW: Verzerrungen

Hallo Heinrich,
ich habe gerade mal Dein Skript getestet. Damit sind interessante Effekte möglich, wie ja auch Alfreds Beispiel zeigt.

Praktisch fände ich folgende Ergänzungen:
  • Wahlmöglichkeit für die Hintergrundfarbe
  • Nullstellungsmöglichkeit für jeden einzelnen Schieber
 
AW: Verzerrungen

Ich habe noch ein wenig herumprobiert:

2:CPFOyyhIQgO5nU20adNUpJERzRi-tWUy_480.jpg
2:CPFOyyhIQgPvzMt5pTscvpERzRi-tWUy_480.jpg

2:CPFOyyhIQgNYJFEHgE02fZERzRi-tWUy_480.jpg


Interessant ist es auch, wenn man verzerrt, dann das Bild um 90° dreht, dann erneut verzerrt und dann wieder zurückdreht ;D.

Nullstellungsmöglichkeit für jeden einzelnen Schieber
Am liebsten mit Rechtsklick, wie es in den Multidialogen auch ist ;).

Gruß
Alfred
 
AW: Verzerrungen

Mir ist noch aufgefallen, dass das Skript im FixFoto-Datenordner Spuren hinterlässt. Die beiden Dateien $$MEMOrig.jpg und $$MEMPict.jpg sollten mit Beendigung des Skripts gelöscht werden (nur der Ordnung halber ;D).
 
AW: Verzerrungen

Hallo Harald,
ja, Deine Beobachtung ist völlig richtig.

Im Zusammenhang mit der seit der FixFoto-Version 3.30 verfügbaren Möglichkeit, Bilder mit dem Zusatz $$MEM: abzuspeichern bzw. zu laden, haben sich jetzt einige Klärungen ergeben:

Wichtig ist zunächst, den vollstängigen Zusatz zum Dateinamen zu benutzen! Zumindest ist mir der Lapsus unterlaufen, den ":" unberüchsichtigt zu lassen (ok, ich weiß, lesen müsste man können).

Also, um ein Bild (z.B.: "Orig.jpg") statt auf der Festplatte zwischenzuspeichern abzulegen sondern nur vorübergehend im Speicher zu halten (spart Zugriffszeiten und verhindert "Datenmüll" auf der Festplatte) muss man das Bild beispielsweise mit FF_SaveImage("$$MEM:Orig.jpg", xx) speichern bzw. mit FF_LoadImage("$$MEM:Orig.jpg") zurückladen. Durch unterschiedliche Bildnamen lassen sich natürlich auch mehrere unterschiedliche Bilder im Speicher zwischenlagern. Vergisst man allerdings den ":", dann wird das Bild - wie im Skript "Verzerrungen" - in den gerade im Zugriff befindlichen Ordner auf der Festplatte abgelegt. Im Falle des Skripts "Verzerrungen" war das der FixFoto-Datenordner. Wenn das so geschehen ist, können die dort abgelegten Bilder "$$MEMOrig.jpg" und "$$MEMPict.jpg" bedenkenlos wieder gelöscht werden. Mit dem nächsten "Verzerrungen"-Skript werden diese Bilder eh nur noch im Speicher zwischen gespeichert.
Ein explizites Freigeben des Speicherplatzes ist grundsätzlich nicht erforderlich; nach Angabe von Joachim (JKS) erfolgt dies automatisch beim Beenden des jeweiligen Skriptes.

Wichtiger Fehlerhinweis:
Im Zusammenhang mit der Verwendung dieser Zwischenspeicheroption von Bildern hat sich ergeben, dass beim Speichern mehrerer Bilder im Rahmen eines Skriptes und dem Zurücklesen Fehlermeldungen wie "LoadImage: fehlgeschlagen (Speichermangel?)" o.ä. auftreten. Das Skript wird damit abgebrochen. Aber, es dürfte sich nicht um FixFoto handeln. Eine kurze Diskussion mit Joachnm hat ihn direkt zur Beseitigung des Fehlers in FixFoto ermuntert. Die jetzt verfügbare Betaversion B67 von 26.02.2013 15:58 ist die bereits korrigierte neueste FixFoto-Beta-Version. Herzlichen Dank an Joachim.

Herzliche Grüße
Heinrich
 
AW: Verzerrungen

Hallo beisammen,
das Skript "Verzerrungen" Version V1.5 kann jetzt hier heruntergeladen werden.

Es wurden einige Verbesserungen vorgenommen:
  • Das Layout wurde teilweise überarbeitet.
  • Der Slider für das Dehnen und Stauchen am unteren Bildteil ist entfallen, da Dehnen/Stauchen linear über das gesamte Bild wirkt.
  • Das Erzeugen unnötiger Leerflächen oben und unten beim Dehnen/Stauchen ist entfallen.
  • Der Zahlenwert der jeweiligen aktuellen Slidereinstellung wird nun angezeigt.
  • Mit Klick auf "Sollwert" kann eine präzise Slidereinstellung vorgeneommen werden.
  • Die Sollwerte werden automatisch zwischen 0 und 255 gekappt.
  • Die regulären "Multifunktionen" sind nach Vorschauänderungen gesperrt.
  • Größere Bearbeitungszeiten bei Verzerrungsberechnungen können "notfalls" gestoppt werden.
  • Die zuletzt benutzten Slidereinstellungen werden gespeichert und können wieder abgerufen werden.

Hinweis: Auf den Einsatz der Boolschen Tasten kann zugunsten einer asynchronen Verwendung des Timer-Events für die Sliderbedienung nicht verzichtet werden. Siehe hierzu auch die Anmerkung von Harald (Mecki14) in seiner vorzüglichen Anleitung zum Dialogeditor:
... Da hier eine Zeitsteuerung (Anm.: bei der Slidersteuerung) vorliegt, ist das Verhalten nicht immer sicher. Die Betätigung des "x" oben rechts funktioniert nicht und auch die Betätigung eines Button wird nicht immer erkannt. Evtl. muss man ein bisschen mit der Zeit beim Befehl "FF_SetDialogTimer" experimentieren (Anm.: angepasst an den jeweiligen PC).
Mit freundlichen Grüßen
Heinrich
 
Zuletzt bearbeitet:
AW: Verzerrungen

Die Option Lade Einstellungen gibt nur eine Fehlermeldung aus und das Skript wird sofort verlassen.

Das mit den Soll- und Istwerten funktioniert gut (obwohl es optisch nicht sehr attraktiv aussieht).

Für die drei Optionen Rotation, Perspektive, Beschnitt würde ich noch eine Überschrift vorsehen, z.B. "Vorab-Funktionen". Ich würde die Optionen auch wieder ganz oben anordnen, weil sie eben vorab angewendet werden sollen, da ist die Position oben einfach logischer. Die Fehlermeldung, wenn bereits Verschiebungen eingestellt wurden, würde ich umformulieren in "Funktion nur bei 0-Stellung der Regler erlaubt." Damit ist gleichzeitig die Funktion erwähnt, die betätigt werden muss :).

Das Flimmern der Boxen ist nach wie vor schwach vorhanden. Und wenn ich die Dialogbox offen habe, dann auf ein anderes Windowsfenster umschalte (z.B. um im Browser diesen Text zu schreiben), flimmert unter WinXP unten der Button für das geöffnete FixFoto-Fenster furchtbar nervig. Ich weiß, man soll während des Verzerrens (oder auch bei anderen Skripten) nicht auf ein anderes Programm wechseln, das ergibt sich aber einfach manchmal so ;).) Wahrscheinlich lässt sich das nicht ändern, aber professionell sieht das nicht aus :(.

Noch etwas allgemein zur Optik: die Regler und Pseudobuttons sind sehr dominant und das eigentliche Bild, das ich bearbeiten möchte und wo es u.U. auf exakte Beurteilung der Wirkung ankommt, ist dagegen arg klein! Das Bild muss doch das Wichtigste sein und nicht das Drumherum.

Die großen Umrahmungen der Checkboxen mit der Beschreibung wirken wie ein Anklickbuttons und verführen immer wieder zum Anklicken, obwohl nur die kleine Box selbst angeklickt werden kann. Vielleicht kannst Du das noch etwas einleuchtender gestalten.

Gruß
Alfred
 
AW: Verzerrungen

Nachgeschoben: Die drei unteren Optionen werden zwar aufgerufen, das Ergebnis wird aber nicht übernommen!

Gruß
Alfred
 
AW: Verzerrungen

Hallo Alfred,
Die drei unteren Optionen werden zwar aufgerufen, das Ergebnis wird aber nicht übernommen!
Das kann nicht viel sein; ich kümmere mich - wie auch um Deine anderen Anregungen - schon drum.

Gruß
Heinrich
 
AW: Verzerrungen

Damit es Dir nicht langweilig wird, Heinrich, kann ich Dir noch einen Fehler zur Behebung anbieten 8-):

Einstellung Stärkere Kurven anhaken, dann den Regler für die obere, linke Ecke ganz nach unten ziehen ;D.

Gruß
Alfred
 
AW: Verzerrungen

Hallo Heinrich,

mach doch einfach einen großen Button, der nicht abgefragt wird, und darüber eine Checkbox. Meine Umsetzung wäre dann noch der Style 4096, den ich Dir per PN vorgeschlagen hatte, aber darauf hast Du nicht reagiert. Es könnte so aussehen:

Code:
FF_AddControl(dlg,"boost","BOOL",315,240,40,20); 
FF_SetControlStyle(dlg,"tausenderberechnung",4096);
FF_AddControl(dlg,"1.000 Pixel berechnen","BUTTON",300,235,70,30);// diesen Button niemals abfragen

Notfalls dann von mir aus auch wieder als Häkchen, wenn Du das lieber magst. Du kannst dann aber den Klickbereich relativ groß gestalten - ist dann leichter zu treffen. ;)

Bei Mouseover erscheint ein schöner großer Button (oder alternativ ein ggf. bevorzugtes Häkchen), wo dann wohl jeder wissen wird, dass man darauf klicken muß, weiterer Text ist insofern nicht notwendig. Wenn die Maus weiter wandert, wird der Rand des darunterliegenden Buttons berührt. Das bringt den Beschriftungstext wieder zu Vorschein. Damit hätte es ein Ende mit der Flackerei und der ungewöhnlichen Optik. Mein Favorit wäre jedoch weiterhin - wie vorgeschlagen - eine Checkbox mit dem Style 4096 in der Größe eines Buttons und die Beschriftung daneben: Einfach, klar, reaktionssicher.

Was anderes: Auch wenn Du hier anders entscheidest, meine Intention für die Nutzung des Perspektiv-Dialoges war der, dass ich unter Beibehaltung der Reglerstellung leichte Perspektivänderungen vornehmen möchte. Der Dialog arbeitet also - wie ich in meiner letzten Version gezeigt habe - mit den Reglern zusammen, und nicht allein. Das war gerade der Witz an der Sache, warum ich das eingebaut hatte. Ansonsten sind die 3 Dialogbuttons in meinen Augen verzichtbar. Dann reicht auch der Hinweis in der Hilfe, dass eine Drehung, Beschnitt oder Perspektivänderung vor dem Aufruf dieses Scriptes zu machen sei, denn nichts anderes ist das ja nun.

Viele Grüße
Walter
 
AW: Verzerrungen

[*]Der Slider für das Dehnen und Stauchen am unteren Bildteil ist entfallen, da Dehnen/Stauchen linear über das gesamte Bild wirkt.

Meiner nicht! Schau Dir das nochmal an. Einfaches lineares stauchen und dehnen kann man ja beliebig im Perspektivdialog, dafür bräuchte es keinen extra Slider.
Mir scheint, dass Dein Postfach nicht funktioniert, denn auch dieses zu erklären hatte ich Dir angeboten...

Hinweis: Auf den Einsatz der Boolschen Tasten kann zugunsten einer asynchronen Verwendung des Timer-Events für die Sliderbedienung nicht verzichtet werden.

Richtig. Daher ist es für eine konforme und einheitliche Nutzung der 'Boolschen Tasten' umso wichtiger, diese Häkchen umzuwandeln und wie Buttons aussehen zu lassen, wenn sie die originären Funktion von Buttons übernehmen sollen.

VG
Walter
 
AW: Verzerrungen

Hallo Walter,
... mach doch einfach einen großen Button, der nicht abgefragt wird, und darüber eine Checkbox. Meine Umsetzung wäre dann noch der Style 4096, den ich Dir per PN vorgeschlagen hatte...
Deine PN bezüglich der Umgestaltung der Boolschen Button über "FF_SetcontrolStyle(dlg,4096)" habe ich schon erhalten, was mich persönlich daran stört, ist aber die Tatsache, dass im Gegensatz zum "normalen" Boolschen Button nicht erkennbar ist, dass er angeklickt wurde. Es wird m.E. kein Haken gesetzt.

... aber darauf hast Du nicht reagiert...
Im Augenblick erhebt sich für mich die Frage, ist eine weitere Umgestaltung der Dialogsteuerung im Skript wirklich sinnvoll; mehr als ein oder zwei zwei Interessenten scheinen eh keinerlei Bedarf an dieser "Verzerrungs"-Spielerei zu haben.

Bezüglich Dehnen/Stauchen:
...Meiner nicht! Schau Dir das nochmal an. Einfaches lineares stauchen und dehnen kann man ja beliebig im Perspektivdialog, dafür bräuchte es keinen extra Slider.
Mir scheint, dass Dein Postfach nicht funktioniert, denn auch dieses zu erklären hatte ich Dir angeboten...
Auch bei der Lösung mit zwei Reglern handelt es sich um ein lineares Dehnen/Stauchen; Du vergrößerst dabei lediglich die überflüssige leere Bildfläche unterhalb bzw. oberhalb des eigentlichen Bildes, das dabei natürlich zusätzlich linear gedehnt bzw gestaucht wird. Die Vergrößerung zum oberen oder unteren Bildrand ist m.E. jetzt völlig überflüssig, da die Bildgeometrie ohne leere Bildstreifen oben/unten stets automatisch an das "verzerrte" Bild optimal angepasst wird.
Im Übrigen ist mein Postfach in Ordnung. Welche PN dürfte deiner Meinung nicht angekommen sein? Vielleicht kannst Du mir ja eine Kopie senden.

Gruß
Heinrich
 
AW: Verzerrungen

Bezüglich Dehnen/Stauchen:
Auch bei der Lösung mit zwei Reglern handelt es sich um ein lineares Dehnen/Stauchen; Du vergrößerst dabei lediglich die überflüssige leere Bildfläche unterhalb bzw. oberhalb des eigentlichen Bildes, das dabei natürlich zusätzlich linear gedehnt bzw gestaucht wird. Die Vergrößerung zum oberen oder unteren Bildrand ist m.E. jetzt völlig überflüssig, da die Bildgeometrie ohne leere Bildstreifen oben/unten stets automatisch an das "verzerrte" Bild optimal angepasst wird.
Im Übrigen ist mein Postfach in Ordnung. Welche PN dürfte deiner Meinung nicht angekommen sein? Vielleicht kannst Du mir ja eine Kopie senden.

Gruß
Heinrich

Nicht nötig, Heinrich. Du hast es ja gelesen, es kam mir nur so vor...:)

Zum non-linearen stauchen: Was Du schreibst, ist völlig richtig. Das hat aber nichts mit dem Regler zu tun, von dem ich sprach.

Im dem Script habe ich jeweils 8 Spalten herausgeschnitten und dann versetzt wieder eingemixt. Dadurch ergibt sich auf der linken Seite eine Stauchung, während auf der rechten Seite eine Dehnung herauskommt - oder umgekehrt. Je nach Reglerstellung erfolgt die Dehnung/Stauchung stärker oder schwächer. Die Dehnung erfolgt dadurch, dass auf diese Weise der gleiche Streifen mehrfach wieder eingefügt wird. Bei der Stauchung werden einige Streifen weggelassen, so dass das Bild enger zusammengerückt wird.

Bei Deiner Version wird jede Spalte an genau der gleichen X-Position wieder eingesetzt. Das ist etwas völlig anderes. Die Möglichkeit, in einem Bild an der einen Seite zu dehnen und an der anderen zu stauchen gibt es bisher in keiner Fixfoto-Funktion.

VG
Walter
 
AW: Verzerrungen

Hallo Walter,
zum Thema nicht-lineare horizontale Verzeichnung schreibst Du:
... Im dem Script habe ich jeweils 8 Spalten herausgeschnitten und dann versetzt wieder eingemixt. Dadurch ergibt sich auf der linken Seite eine Stauchung, während auf der rechten Seite eine Dehnung herauskommt - oder umgekehrt. Je nach Reglerstellung erfolgt die Dehnung/Stauchung stärker oder schwächer. Die Dehnung erfolgt dadurch, dass auf diese Weise der gleiche Streifen mehrfach wieder eingefügt wird. Bei der Stauchung werden einige Streifen weggelassen, so dass das Bild enger zusammengerückt wird...
Ok, ich hatte es fast so befürchtet. Von nicht-linearer horizontaler Verzeichnung zu reden, ist m.E. etwas weit her geholt. Wie aus der Skriptlogik und anhand von Testbilder zu erkennen ist, handelt es sich in der Horizontalen nicht um eine nichtlineare Verzeichnung sondern um eine lineare, rein proportionale Stauchung/Dehnung in zwei unterschiedlich Größen für links und rechts. Ich denke, das müsste sich besser und eleganter lösen lassen; schauen wir mal.

Hier zum Vergleich zwei Bilder:
Das erste Bild ist das Ausgangsbild mit einem vollkommen regelmäßigen Raster:

raster0.jpg

Original

Das zweite Bild ergibt sich nach Anwendung des Skriptes W-Shift V1.2 bei ganz nach links gestelltem Regler "Nicht-Linear waagerecht transformieren":

raster1.jpg

mit W-Shift V1.2 "verzerrt"

Es ist deutlich zu erkennen, dass das Raster auf der linken Hälfte gleichmäßig und in einheitlichem (also linear) Maß gestaucht während es rechts im gleichen Maße gedehnt ist.

Gruß
Heinrich
 
Zuletzt bearbeitet:
Zurück
Oben