2019.06 2020.06

Die iView2-Komponente

Diese Komponente bereitet Bilder, die in Derivaten abgelegt werden auf, damit diese im MyCoRe-eigenen Bildbetrachter dargestellt werden können.

Die Integration der Bildbetrachter-Komponente

MyCoRe bietet einen komfortablen Bildbetrachter, um Dateien verschiedener Formate anzuzeigen. Dazu wird die Komponente iview2 aus dem MyCoRe-Kern verwendet. Diese bindet dann wiederum den MyCoRe-Viewer ein. Der iView2 erstellt (falls notwendig) die Kacheln und ermöglicht die Einbindung des Viewers in die Anwendung.

Der Bildbetrachter ist in der MIR-Anwendung bereits in die Detailansicht des MyCoRe-Objekttyps mods integriert. Ist der Bildbetrachter deaktiviert oder sind keine Kacheln vorhanden, wird dieser einfach nicht dargestellt. Für die Darstellung ist die mir-viewer.xsl verantwortlich.

Komponente IView2 – API zur Bildbearbeitung

Die IView2-Komponente befindet sich im MyCoRe-Kern und bietet eine API um Bilddaten in MyCoRe abzuspeichern, performant zu laden und gegebenenfalls zu verändern (Skalierung).

Bilder speichern

Für jedes (unterstützte) Bildformat wird beim Einstellen der Datei in MyCoRe ein asynchroner Kachelvorgang gestartet. Dabei wird das Bild in Kacheln à 256x256 Pixel zerlegt und so lange herunterskaliert und erneut gekachelt, bis das Thumbnail (x<=256 und y<=256) erstellt ist. Alle so entstanden Kacheln und Auflösungen werden für die spätere Verwendung gespeichert. Durch diese redundante Speicherung der Bilddaten verdreifacht sich schlimmsten Falls (wenn original JPEG ist) die Datenmenge. Bei unkomprimierten TIFF-Bildern liegt der Overhead bei ca. 10-15 Prozent.

Bilder ausgeben

Bilder können über den Image-Viewer angezeigt werden oder in festen Auflösungsstufen ausgegeben werden. Beim Image-Viewer wird entsprechend der Ausgabegröße wird entschieden, welche Kacheln für die Darstellung verwendet werden.

Schnittstellen

Hier nun eine Übersicht der Möglichkeiten die verschiedenen Kacheln/Darstellungen in die eigene Anwendung einzubinden. Der jeweilige Pfad muss dann im Zuge der Anwendungsentwicklung im gewünschten Stylesheet an der richtigen Stelle platziert werden.

Thumbnails (immer PNG 256x256 mit transparenten Rahmen):
1
/servlets/MCRThumbnailServlet/{derivateID}/{pfadZumBild}
Thumbnails original (immer JPEG und mit Kantenlänge <=256):
1
/servlets/MCRTileServlet/{derivateID}/{pfadZumBild}/0/0/0.jpg
Zusammengefügte Bilder in verschieden Auflösungen (immer JPEG):
1
/servlets/MCRTileCombineServlet/{Auflösung}/{derivateID}/{pfadZumBild}
Auflösung:
  • "MIN" - 256 < Kantenlänge <=512
  • "MID" - 512 < Kantenlänge <= 1024
  • "MAX" - 1024 < Kantenlänge <= 2048
pfadZumBild: relativer Pfad innerhalb des Derivats inklusive der original Endung (z.B.: .tiff)

Einbinden des Bildbetrachters mittels XSLT (kompatibel mit IView1):
1
2
3
            &lt;xsl:call-template name="derivateView"&gt;
            &lt;xsl:with-param name="derivateID" select="{derivateID}" /&gt;
            &lt;/xsl:call-template&gt;
IView2-Metadaten eines Bildes:
1
/servlets/MCRTileServlet/{derivateID}/{pfadZumBild}/imageinfo.xml
ergibt:
1
2
            &lt;imageinfo derivate="{derivateID}"path="/{pfadZumBild}"tiles="{AnzahlAllerKacheln}"
            width="{BreiteInPixeln}"height="{HöheInPixel}"zoomLevel="{maximalerZoomlevel}"//&gt;