Search the FirstSpirit Knowledge Base
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
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
}
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
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
}
P.S. denkt dran die extension auch mit zu setzen !
Das hatte ich in dem Schnipsel vergessen.