plamka
I'm new here

Auflösung von Bildern nachträglich ändern

Jump to solution

Hallo,

ich würde gerne die Bildauflösung nachträglich ändern. Wie gehe ich da am besten vor?

Über die Server und Projektkonfiguration kann ich eine Bildauflösung nur anlegen bzw. löschen.

Was passiert wenn ich eine Bildauflösung lösche und eine neue mit dem gleichen Namen anlege?

Gruß und besten Dank

0 Kudos
1 Solution

Accepted Solutions

Hi,

die Auflösung wird von FS neu berechnet wenn das Bild als ORIGINAL neu gesetzt wird.

z.B. wie folgt:

Resolution resolution = project.getResolutionByName(Resolution.ORIGINAL_RESOLUTION_NAME);

Picture picture = media.getPicture(lang);

    if(picture != null) {

        media.setLock(true); // lock auf medium setzen

       

        // den bytestream holen und zwischenspeichern

        byte[] byteStream = picture.getPicture(resolution);

        // das originale picture entfernen und neu setzen

        picture.removePicture(resolution);

        picture.setPicture(resolution, byteStream);

        // das mediaobjekt speichern

        media.save("refresh media resolution by script", false);

        media.setLock(false);

       } else {

     //        Medium ist kein Bild

    }   

View solution in original post

0 Kudos
4 Replies
hoebbel
Crownpeak employee

Hallo Herr Zasada,

David Zasada schrieb:

ich würde gerne die Bildauflösung nachträglich ändern. Wie gehe ich da am besten vor?

Über die Server und Projektkonfiguration kann ich eine Bildauflösung nur anlegen bzw. löschen.

Was passiert wenn ich eine Bildauflösung lösche und eine neue mit dem gleichen Namen anlege?

wenn ich davon ausgehe, dass Sie eine aktuelle FirstSpirit Version benutzen, dann haben Sie anschließend eine Auflösung mit dem bisherigen Namen, den neuen Parametern und gegebenenfalls den alten, bereits berechneten Bildern vorliegen.

Wahrscheinlich werden diese Bilder erst neuberechnet, wenn das Originalbild geändert wird.

Potentiell wird dies dazu führen, dass berechnete Bilder für die entsprechende Auflösung teilweise mit den neuen Werten [Breite/Höhe] und teilweise mit den alten erzeugt werden.

Ich rate Ihnen dringend davon ab, dies zu tun, da die Fehlerkondition wahrscheinlich lange im Projekt vorhanden sein wird...

Viele Grüsse aus Dortmund,

  Holger Höbbel

Hallo,

wir haben derzeit in der 4.2-Version dasselbe Problem.

Dadurch, dass wir sehr viele Auflösungen haben und die Referenznamen bereits in allen Vorlagen implementiert sind, wäre dies ein großer Aufwand.

Kann man das "Bearbeiten" des Bildes auch über ein Skript lösen? Was wäre dabei zu beachten?

Danke und viele Grüße,

Matthias Przybylski

0 Kudos

Hi,

die Auflösung wird von FS neu berechnet wenn das Bild als ORIGINAL neu gesetzt wird.

z.B. wie folgt:

Resolution resolution = project.getResolutionByName(Resolution.ORIGINAL_RESOLUTION_NAME);

Picture picture = media.getPicture(lang);

    if(picture != null) {

        media.setLock(true); // lock auf medium setzen

       

        // den bytestream holen und zwischenspeichern

        byte[] byteStream = picture.getPicture(resolution);

        // das originale picture entfernen und neu setzen

        picture.removePicture(resolution);

        picture.setPicture(resolution, byteStream);

        // das mediaobjekt speichern

        media.save("refresh media resolution by script", false);

        media.setLock(false);

       } else {

     //        Medium ist kein Bild

    }   

0 Kudos

P.S. denkt dran die extension auch mit zu setzen !

Das hatte ich in dem Schnipsel vergessen.

0 Kudos