Transformieren von Bildern

www.altova.com Dieses Kapitel drucken Vorherige Seite Eine Ebene nach oben Nächste Seite

Startseite >  Designobjekte/Funktionen > Bilder >

Transformieren von Bildern

Ein Base64-kodiertes Bild kann mit der Altova XPath-Erweiterungsfunktion mt-transform-image: transformiert werden (durch Anpassung der Größe, Drehen oder Ändern der Qualität/Dateigröße).

 

mt-transform-image(Base64Image als Base64BinaryString, Size als item()+, Rotation als xs:integer, Quality als xs:integer) als Base64BinaryString

Die Funktion erhält ein Base64-kodiertes Bild als erstes Argument und gibt ein transformiertes Base64-kodiertes Bild zurück. Beim zweiten, dritten und vierten Argument handelt es sich um die Bildparameter, die transformiert werden: size (Größe), rotation (Drehung) und quality (Qualität). Eine ausführliche Beschreibung der Funktion und Beispiele für ihre Anwendung finden Sie im Abschnitt XPath/XQuery-Funktionen: bildbezogene.

 

Beachten Sie die folgenden Punkte:

 

Das Input-Bild für die Transformation ist ein Base64-kodiertes Bild und keine Bilddatei.
Alle Exif-Daten in der Base64-Kodierung gehen im transformierten Bild verloren.
Wenn die Transformation auf dem Client ausgeführt wird, kann es zu Speicherproblemen auf dem Client kommen. Siehe Anmerkung unten.

 

 

Transformation auf dem Client oder Server

Die Funktion mt-transform-image wird auf dem Client ausgeführt, falls nicht explizit anders definiert. Dadurch kann es auf einigen Clients zu Problemen mit dem vorhandenen Speicher kommen. Beim Start der Transformation wird das Bild aus dem Format seiner Base64-Kodierung in ein möglicherweise sehr großes BMP-Format entpackt. Nach Abschluss der Transformation wird die transformierte Datei wieder im Originalformat gespeichert. Beachten Sie, dass es durch das große BMP-Format auf einigen Clients zu Arbeitsspeicherproblemen kommen kann.

 

Um diese Probleme zu vermeiden, geben Sie explizit an, das die Transformation auf dem Server ausgeführt werden muss. Verwenden Sie dazu die Aktion "Ausführen auf" und definieren Sie, dass die Child-Aktionen auf dem Server ausgeführt werden. Daraufhin werden alle Child-Aktionen dieser Ausführen auf-Aktion auf dem Server ausgeführt. Mit Hilfe einer Aktion, wie z.B. Node aktualisieren können Sie einen Node mit dem Ergebnis der Transformation aktualisieren. MobileTogether überträgt die Ergebnisse, nachdem die Aktion fertig ausgeführt wurde oder wenn der Workflow zurück auf den Client wechselt, automatisch an den Client.

 

 


© 2019 Altova GmbH