Webgate Anywhere 4.1 - TMLScript Referenz
ImageScaler

Objekt ImageScaler
Beschreibung Das ImageScaler-Objekt ist ein Hilfsobjekt um Grafikdateien in TMLScript über vielfältige Funktionen zu skalieren und konvertieren. Es bedient sich dabei im Hintergrund der Java Advanced Imaging API, bietet jedoch gegenüber dieser eine stark vereinfachte Schnittstelle.

Ein ImageScaler-Objekt wird über die Methode this.createImageScaler() erstellt und erhält dabei die zu verarbeitende Grafikdatei als Parameter. Das ImageScaler-Objekt lädt dabei die Daten der Datei ein. Alle Skalierungsfunktionen die als Methoden des Objektes verfügbar sind werden auf dieses temporäre Speicherabbild der Datei angewendet.

Um schließlich die modifizierte Version speichern zu können wird entweder die Methode scaler.writeImage() benutzt, welche die Daten in das Dateisystem schreibt oder die Methode , welche die Daten als Dateianhang an ein WGAPI-Dokument anhängt.

Die lesbaren Eingabeformate sind JPEG, PNG, TIFF, GIF und Windows-Bitmap.

Als Ausgabeformate werden JPEG und PNG unterstützt. Das Standard-Ausgabeformat ist JPEG.
Da die Funktionen dieses Objektes auf der Java Advanced Imaging API basieren ist deren Leistungsumfang direkt an den Leistungsumfang der API gekoppelt. Dies wirkt sich sowohl auf die verwendbaren Eingabeformate als auch auf die damit möglichen Operationen aus. Daher kann die Innovation Gate GmbH keine Gewähr für eine volle Funktionsfähigkeit der in diesem Objekt verfügbaren Funktionen auf allen Plattformen und mit allen Formaten bieten.

Mit WGA wird die Version 1.1 "Maintenance Review" der Advanced Imaging API ausgeliefert. Weitere Informationen erhalten sie auf der Homepage der Java Advanced Imaging API bzw. im Java Advanced Imaging API Programming Guide.
Ermittelbar über this.createImageScaler()
Verfügbar in
  • WebTML-Seiten und normalen WebTML-Aktionen
  • Master-Aktionen
  • TMLScript-Tasks in Jobs
  • Seitentyp-Events
Eigenschaften und Methoden
Name Purpose
scaler.aspectRatio Gibt das Seitenverhältnis der Grafik aus
scaler.determineRenderedSize() Bestimmt die Datengröße der zu rendernden Grafik in Bytes
scaler.format Setzt das Zielformat der Java Advanced Imaging API
scaler.formatSuffix Gibt das Datei-Suffix für das gewählte Ausgabeformat aus
scaler.growToSize(width, height) Vergrößert die Grafik auf eine Minimalgröße
scaler.height Gibt die aktuelle Höhe der Grafik in Pixeln aus
scaler.imageEncodeParam Setzt Kodierungs-Parameter für das Zielformat der Java Advanced Imaging API
scaler.interpolation Bestimmt die Interpolations-Strategie der Java Advanced Imaging API
scaler.isTransparencySupportedForOutput() Gibt an, ob das gewählte Ausgabeformat Transparenz unterstützt
scaler.quality Gibt bei JPEG-Ausgabe die zu erzeugende Kompressions-Qualität an
scaler.scaleByFactor(widthFactor, heightFactor) Skaliert die Grafik nach angegebenen Skalierungsfaktoren
scaler.scaleToSize(width, height [, keepRatio]) Skaliert die Grafik zu einer absoluten Zielgröße
scaler.shrinkToSize(width, height) Verkleinert die Grafik auf eine Maximalgröße
scaler.sourceFileName Gibt den Namen der Quelldatei aus
scaler.useJPEGForOutput() Konfiguriert den ImageScaler auf Verwendung des JPEG-Formates als Ausgabeformat
scaler.usePNGForOutput() Konfiguriert den ImageScaler auf Verwendung des PNG-Formates als Ausgabeformat
scaler.width Gibt die aktuelle Breite der Grafik in Pixeln aus
scaler.writeImage(file)
scaler.writeImage(outputStream)
Schreibt die Daten der skalierten Grafik in eine Datei oder einen Java-Ausgabe-Stream
Beispiele Folgendes Beispiel lädt eine hochgeladene Datei aus einem WebTML-Formular in einen ImageScaler, skaliert die Datei auf eine Maximalgröße von 800x600 Pixeln, und fügt die skalierte Grafik dem aktuellen Inhaltsdokument als Anhang hinzu. Als Ausgabeformat wird PNG bestimmt.

<tml:form id="uploadImage">
Image: <tml:input name="thefile" type="file"/><br/>
<tml:button clickaction="scale">Scale image</tml:button>
</tml:form>

<tml:action id="scale">
var scaler = createImageScaler(tmlform.getfile(tmlform.thefile));
scaler.shrinkToSize(800, 600);
scaler.usePNGForOutput();
tmlform.attachScaledImage(content(), scaler, "scaled");
content().save();
</tml:action>


<< forminfo.htmlinput scaler.aspectRatio >>