Bild mit Transparenz speichern

  • [...] auch bei Dateien der Typen "*.jpeg" und "*.png" [...]

    Wäre es sehr aufwändig, eine Funktion einzubauen, mit der man in *.png-Dateien eine Farbe transparent schalten könnte, z. B. weiß? :oops:


    Damit könnte man z.B. Bilder mit einem 3-D-Schatten "schwebend" über andere Bilder legen, z.B. als Lupe für Details. Oder frei gestellte Objekte in andere Hintergründe einfügen.


    Beispiel: Das Detailbild würde schweben, wenn man den weißen Rand transparent schalten könnte:



    Besonders ideal wäre es, wenn man die Transparenz auf den Rahmen beschränken könnte falls das Bild weitere Bestandteile enthält, die die gleiche Farbe aufweisen (hier weiß).

    Gruß softride
    Lumix GM1, GX7, GX80, GX9, G9, P 7-14, P 8, PL 1,7/15, P 12-32, O 1,8/45, O 2,8/60, O 1,8/75, P 14-140 II, PL 50-200 + TC14, PL 100-400

  • Wäre es sehr aufwändig, eine Funktion einzubauen, mit der man in *.png-Dateien eine Farbe transparent schalten könnte, z. B. weiß? :oops:

    Wäre eine interessante Idee. Besser noch, wenn das nicht auf *.png Dateien beschränkt wäre. Vielleicht könnte man sogar erreichen, dass ein Farbbereich transparent geschaltet werden kann. Zum Beispiel kann man im altehrwürdigen Paint auch eine transparente Farbe bestimmen. Aber sowie auch nur leichte Schattierungen in dieser Farbe vorhanden sind, wird die Transparenz nicht flächig, sondern es bleiben nicht transparente Pixel übrig. Paint erkennt also nur eine feste Kombination der Basisfarben Rot-Grün-Blau

  • [...] wenn das nicht auf *.png Dateien beschränkt wäre [...]

    Soweit mir bekannt, kann JPEG keine Transparenz speichern. Diese Eigenschaft gibt es offensichtlich nur bei PNG (weitere Dateiformate nicht ausgeschlossen).

    Gruß softride
    Lumix GM1, GX7, GX80, GX9, G9, P 7-14, P 8, PL 1,7/15, P 12-32, O 1,8/45, O 2,8/60, O 1,8/75, P 14-140 II, PL 50-200 + TC14, PL 100-400

    • Offizieller Beitrag

    Wäre es sehr aufwändig, eine Funktion einzubauen, mit der man in *.png-Dateien eine Farbe transparent schalten könnte, z. B. weiß?

    Danke für die Anregung!


    Verstehe ich dich richtig:

    Du möchtest beim Speichern eines Bilds als png-Grafik eine Farbe als transparent definieren können. Wenn man in einem anderen Bild diese Grafik als Mischbild hinzufügt, soll die Transparenz wirken.

    Denkbar wäre auch der andere Fall:

    Du möchtest beim Mischen eine Farbe des Mischbilds als transparent definieren.


    Wie aufwändig das ist, kann ich noch nicht sagen. Da muss ich mich erst wieder in den Sachverhalt vertiefen.


    Ein Problem jedenfalls wird der Schatten sein. In deinem Beispiel wurde der Schatten auf weißem Hintergrund erzeugt und ist deswegen grau. Über andersfarbigem oder verschiedenfarbigem oder unterschiedlich hellem Hintergrund kann das unstimmig sein.

    • Offizieller Beitrag

    Damit könnte man z.B. Bilder mit einem 3-D-Schatten "schwebend" über andere Bilder legen, z.B. als Lupe für Details. Oder frei gestellte Objekte in andere Hintergründe einfügen.


    Beispiel: Das Detailbild würde schweben, wenn man den weißen Rand transparent schalten könnte:

    Das geht leider nicht so einfach, denn der Verlauf des Schattens wie in deinem Beispiel müsste nicht schwarz auf weiß gemischt werden, sondern schwarz auf Transparenz. Dazu bräuchte man aber intern schon bei der Bildverarbeitung einen zusätzlichen Transparenzkanal, nicht nur beim Speichern.


    Eine einfache Transparenzfarbe (wie sie z.B. IrfanView beim Speichern anbietet) funktioniert nur bei absolut harten Kanten ohne irgendwelche Übergänge oder Anti-Aliasing.

  • [...] Wenn man in einem anderen Bild diese Grafik als Mischbild hinzufügt, soll die Transparenz wirken. [...]

    Exakt, so hatte ich mir das gedacht. Danke für die Beschäftigung damit.




    Das geht leider nicht so einfach, denn der Verlauf des Schattens wie in deinem Beispiel müsste nicht schwarz auf weiß gemischt werden, sondern schwarz auf Transparenz.

    Schade, trotzdem vielen Dank für das Nachdenken. Der Verlauf ist natürlich ein Problem! Vielleicht könnte man die Transparenz nur im Rahmen unterhalb einer bestimmten Sättigung der Schattenfarbe wirken lassen ohne auf eine bestimmte Hintergrundfarbe zu beziehen?


    Affinity-Photo kommt andeutungsweise mit einem JI-Schattenverlauf klar. Weil die Transparenz aber auch über die Farbe bestimmt wird, werden die weißen Schriftfelder auch transparent geschaltet.



    Wenn es größere Probleme bereitet, dann vergesst meine Anfrage. Einen größeren Aufwand zu betreiben, ist es sicher nicht wert. Ich arbeite gerade an einem Büchlein über Wanderungen im Odenwald. Da lag die Verwendung nahe.

    Gruß softride
    Lumix GM1, GX7, GX80, GX9, G9, P 7-14, P 8, PL 1,7/15, P 12-32, O 1,8/45, O 2,8/60, O 1,8/75, P 14-140 II, PL 50-200 + TC14, PL 100-400

    • Offizieller Beitrag

    Ich arbeite gerade an einem Büchlein über Wanderungen im Odenwald. Da lag die Verwendung nahe.

    :daumenhoch:


    Weil die Transparenz aber auch über die Farbe bestimmt wird, werden die weißen Schriftfelder auch transparent geschaltet.

    Vielleicht ist es möglich für den äußeren Rahmen eine andere Farbe zu verwenden als für den Schrifthintergrund.


    Wenn es größere Probleme bereitet ...

    Es ist halt schwierig ohne einen Alpha-Kanal zu erzeugen dem fertigen Bild mitzuteilen, was die Transparenzfarbe ist und dass bitte nur der Rahmen transparent werden soll.


    Am einfachsten könnte ich mir vorstellen, beim Mischen der Bilder eine Pipette hinzuzufügen, mit der man eine Transparenzfarbe festlegen kann.

  • Am einfachsten könnte ich mir vorstellen, beim Mischen der Bilder eine Pipette hinzuzufügen, mit der man eine Transparenzfarbe festlegen kann.

    Das war eigentlich mein erster Gedanke. Unabhängig von dem Schattenverlauf könnte man damit sicher auch sehr interessante Montagen machen, sofern sich das einigermaßen einfach realisieren lässt.


    (Nur als Beispiel: Ein Auszug aus unserer Vereinszeitschrift die ich ehrenamtlich produziere. Abgesehen von diesen Freistellungen ist der JI mein Standardwerkzeug für alle Bildbearbeiteungen darin und unverzichtbar. Es gibt kein praktischeres Prgramm dafür!)



    Bei den Schriften für die Wanderkarte könnte man sich z.B. damit helfen, dass man ihnen eine andere Hintergrundfarbe gibt.

    Gruß softride
    Lumix GM1, GX7, GX80, GX9, G9, P 7-14, P 8, PL 1,7/15, P 12-32, O 1,8/45, O 2,8/60, O 1,8/75, P 14-140 II, PL 50-200 + TC14, PL 100-400

    • Offizieller Beitrag

    Das hast du aber vermutlich durch Maskierung in einem anderen Programm gemacht und nicht mit einer Transparenzfarbe?

    Der Umgang mit einer Transparenzfarbe hat folgendes Problem: Wenn man ein Bild größer oder kleiner skaliert (und das macht man in der Regel, wenn man es in ein anderes einfügt), dann werden die Farbwerte durch Interpolation ermittelt. Das bedeutet, dass Farbwerte nicht exakt beibehalten werden. Bei einem zunächst sauberen weißen Bildrand bekommst du beim Skalieren kleine Farbsäume und das stört natürlich, wenn man (255,255,255)-Pixel transparent machen möchte. Der saubere Rand ist dann ausgefranst.

  • Ja, die Freistellung habe ich mit Affinity-Photo gemacht. Es sollte nur ein Beispiel dafür sein, was man mit Bildern mit transparenten Hintergründen anfangen kann, auch wenn man auf Schattenverläufe verzichtet.


    In den MS-Office-Programmen (Word, Powerpoint, Publisher) gibt es so eine Pipette zur Auswahl einer transparenten Farbe.


    Wie schon gesagt, falls es schwierig ist, sollte man das Projekt nicht weiter verfolgen. Im Bedarfsfall kann ich mir anders helfen. Ich dachte halt, dass Tranzparenz eigentlich eine Standard-Eigenschaft von png-Dateien ist.

    Gruß softride
    Lumix GM1, GX7, GX80, GX9, G9, P 7-14, P 8, PL 1,7/15, P 12-32, O 1,8/45, O 2,8/60, O 1,8/75, P 14-140 II, PL 50-200 + TC14, PL 100-400

    • Offizieller Beitrag

    Ich dachte halt, dass Transparenz eigentlich eine Standard-Eigenschaft von png-Dateien ist.

    Das stimmt natürlich schon. Wobei die Transparenz mit "Transparenzfarbe" eher etwas für Grafiken, Cliparts, Word-Formen ... ist als für Bilder. Deine Überlegung, dass ein einfarbiger Bilderrahmen sich dafür auch eignen sollte, ist vollkommen richtig.


    Das Problem scheint mir eher im Detail zu liegen:

    a) Wenn wir beim Speichern die png-Datei mit Transparenzfarbe versehen wollen, stellt sich die Frage, wo definiere ich diese? Erst, nachdem der Speicherndialog mit dem Typ "*.png" mit "OK" verlassen wird in einem weiteren Dialog? Schon vorher auf der Rahmenregisterkarte, wo noch gar nicht feststeht, ob man als *.png speichern wird? Eine Option, wo die Farbe des äußeren Rahmen generell als Transparenzfarbe angehakt werden kann und die nur von Bedeutung ist, wenn man *.png speichert?

    b) Wenn wir die Transparenzfarbe erst beim Mischen der Bilder festlegen, umgehen wir die vorigen Fragen. Was bleibt ist immer noch das Farbproblem, das durch das Skalieren entsteht.

    c) Einen Alpha-Kanal zu beschreiben für den äußeren Rahmen ist ziemlicher Aufwand und letztlich unbefriedigend wegen des Schattenverlaufs und des Antialiasing, das bei den runden Ecken eingesetzt wird.


    Da müssen wir noch drüber schlafen ...

  • [...] Wenn wir beim Speichern die png-Datei mit Transparenzfarbe versehen wollen, stellt sich die Frage, wo definiere ich diese? [...]

    Wäre es nicht ausreichend, einfach das Speichern als JPEG zu verhindern oder noch einfacher, eine Warnung auszugeben, dass die Tranzparenzeigenschaft dabei verloren geht?


    Aber bitte Bertam: Nur keinen Aufwand!

    Ich kann mir notfalls auch anders helfen und ich weiß nicht, ob sich noch viele andere für dieses Feature interessieren würden.

    Gruß softride
    Lumix GM1, GX7, GX80, GX9, G9, P 7-14, P 8, PL 1,7/15, P 12-32, O 1,8/45, O 2,8/60, O 1,8/75, P 14-140 II, PL 50-200 + TC14, PL 100-400

  • Eine einfache Transparenzfarbe (wie sie z.B. IrfanView beim Speichern anbietet) funktioniert nur bei absolut harten Kanten ohne irgendwelche Übergänge oder Anti-Aliasing.

    So arbeitet auch Paint, wenn man dort eine transparente Farbe bestimmt. Deshalb ja auch meine Überlegung, ob es nicht möglich ist, einen transparenten Farbverlauf zu bestimmen, gewissermaßen ein „Farbpixel-Wert-Intervall“

    • Offizieller Beitrag

    Deshalb ja auch meine Überlegung, ob es nicht möglich ist, einen transparenten Farbverlauf zu bestimmen

    Ich bin mir nicht sicher, ob du dir das richtig vorstellst. So ein Schatten hat selber keine Farbe sondern nimmt die Farbe des Untergrunds an. Schatten auf einem grünen Rahmen ist grünlich. Jetzt soll der Rahmen aber transparent werden, dann soll der Schatten die Färbung des noch unbekannten, künftigen Hintergrunds widerspiegeln und nicht grünlich sein.

    Möglich ist vieles. Wenn man es machen will.

  • bertram: Volles Verständnis dafür, trotzdem danke für die Diskussion!


    Wäre das Definieren einer Farbe als Transparenz mit weniger Aufwand zu realisieren oder geht das auch ans 'Eingemachte'?

    Gruß softride
    Lumix GM1, GX7, GX80, GX9, G9, P 7-14, P 8, PL 1,7/15, P 12-32, O 1,8/45, O 2,8/60, O 1,8/75, P 14-140 II, PL 50-200 + TC14, PL 100-400

    • Offizieller Beitrag

    Transparenzfarbe haben wir schon probiert. Im Allgemeinen ist das für unseren Außenrahmen unbrauchbar. In Spezialfällen geht es einigermaßen: Dazu muss der Rahmen wirklich einfarbig sein und darf keinen Schatten oder Schriftzug beinhalten. Bei runden Rahmen sorgt das Antialiasing für sichtbare Artefakte und, wenn du Pech hast, fehlen Teile im Inneren des Bilds.



    Das ist ein Beispiel eines 3D-Rahmens mit runder Ecke und gänzlich ohne Schatten. Während die waagrechte und senkrechte Kante sauber sind, ergibt sich In der Rundung ein Farbsaum.

    So etwas stellt uns nicht zufrieden.