Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele."—  Präsentation transkript:

1 1 Oracle interMedia Image Christian Dietz

2 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele

3 3 Allgemein LOB - interMedia Image ist eine Komponente von Oracle interMedia - erlaubt die Verwaltung von Bildern in einer integrierten Weise mit anderen Unternehmensinformationen über Objekttypen und benutzerdefinierte Datentypen - Enthält erweiterte Basis-Methoden zum Verwalten und Ändern von Bilddaten

4 4 Allgemein LOB Warum Bilder in DB speichern? Bequemeres Verwalten Transaktionen Sparen von Entwicklungszeit und –kosten durch Zusatzmethoden von ORDImage Nachteil: DB wird langsamer (BLOB bis 4 GB)

5 5 Allgemein LOB Mediadaten können intern oder extern gespeichert werden BLOB: intern, Daten im Tablespace BFILE: extern, Verweis auf Datei im lokalen Dateisystem – vom DBS verwaltet

6 6 ORD Oracle interMedia benutzt OR (Objekt-Relationale)-DB Typen um multimediale Daten zu verwalten - diese Objekte enthalten Attribute (Metadaten und Mediendaten) und Methoden (zur Datenmanipulation)

7 7 ORD Attribute sind Informationen über die Daten, wie -Objektlänge, Kompression, Format -Speicherinformationen (Datentyp, Speicherplatz/Ort) -Sourcenamen -Charakteristische Daten der jeweiligen Medien (Audio, Video oder Bild) Methoden sind Prozeduren, welche auf die Objekte angewendet werden können, z.B. getContent() oder process()

8 8 ORDImage AttributeDatentypBeschreibung sourceORDSourceORDSource, in dem die Bilddaten gespeichert sind heightINTEGERHöhe des Bildes widthINTEGERBreite des Bildes contentLengthINTEGERDie Größe des Bildes in Byte fileFormatVARCHAR2 (4000)Datenformat (z.B. jpg) contentFormatVARCHAR2 (4000)Bildtyp(z. B. schwarz/weiß, grau) compressionFormatVARCHAR2 (4000)Kompressionsalgorithmus mimeTypeVARCHAR2 (4000)MIME-Typ

9 9 ORDImage Unterstützte Bildformate: BMP GIF JPG CALS Raster – Format JFIF – Format PCX – Format PICT – Format Raw Pixel – Format Sun Raster – Format Targa – Format TIFF - Format

10 10 ORDImage bietet die Grundfunktionalit ä t zur Manipulation, Speicherung und zum Laden digitaler Bilder und Ä hnlichkeitssuche in Bilddaten, welche sich auf Farbe, Kontur und Textur beziehen durch Erweiterungen m ö glich Kann erweitert werden

11 11 ORDImage Möglichkeiten ORDImage – Typ: Änderung Kodierung, Skalierung die technischen Bildattribute in Anfragen zu verwenden

12 12 Bsp. Tabelle anlegen -Beispiel der Benutzung von ORDImage CREATE TABLE bilder( ID INTEGER, Name(varchar 80) Bild ORDSYS.ORDImage);

13 13 Bsp.: Bild als BFILE speichern INSERT INTO bilder (ID, Name, Bild) VALUES(1, Blume', ORDSYS.ORDImage.init('file','ORDIMGDIR',Blume.gif')) sourceLocation Argument 'ORDIMGDIR' von ORDSYS.ORDImage.init() muss ein lokales Verzeichnis sein.

14 14 Bildattribute automatisch bestimmen DECLARE Image ORDSYS.ORDImage; -- Anwendungsvariable BEGIN INSERT INTO bilder VALUES(1, Blume', ORDSYS.ORDImage.init('file','ORDIMGDIR',Blume.gif')) --speichern --in Variable auslesen SELECT Bild INTO Image FROM Bilder WHERE Bildername = 'test' for UPDATE; Image.setProperties; --Bildattribute ermitteln UPDATE bilder SET Bild = Image WHERE Bildername = Blume'; COMMIT; END;

15 15 Als BLOB (Unterschied) Als BLOB speichern: INSERT INTO bilder VALUES ( 10, Blume', ORDSYS.ORDImage(ORDSYS.ORDSource(empty_blob(),NUL L,NULL,NULL,SYSDATE,1), NULL,NULL,NULL,NULL,NULL,NULL,NULL));

16 16 Als BLOB DECLARE Image ORDSys.ORDImage; Iblob BLOB; BEGIN INSERT INTO bilder VALUES ('$ID,Name,ordsys.ordImage(ORDSYS.ORDSource (EMPTY_BLOB(), NULL,NULL,NULL,SYSDATE,1), NULL,NULL,NULL,NULL,NULL,NULL,NULL)); SELECT Bild INTO Image FROM bilder WHERE ID='$ID' FOR UPDATE; Iblob := ….. --Bilddaten zuweisen UPDATE bilder SET Bild = Image WHERE Name = Blume'; COMMIT; END;

17 17 Gültigkeit der Bilddaten interMedia prüft nicht die Gültigkeit der Bilddaten Anhand der Eigenschaften nicht nachprüfbar bei JPG, da Oracle nur JPG in Standardformatierung verarbeiten kann Lösung: nach Einfügen Bildmaterial laden und um Faktor 1 skalieren

18 18 Bild anzeigen header ("Content-Type: ".$Mimetype); echo $BinaryBild; Header-Tag Content-Type muss unbedingt an den Browser gesendet werden, damit dieser erkennt, um was für einen Inhalt es sich hier handelt – Bsp.: image/jpeg

19 19 Beispiele Zugriff auf die Attribute erfolgt mittels Spaltenname.getAttribut() Kann in Anfragen verwendet werden

20 20 Beispielanfragen Liefere alle Bilder die eine bestimmte Breite nicht überschreiten SELECT Name, Bild.getWidth() FROM bilder WHERE Bild.getWidth() < 32;

21 21 Beispielanfragen Liefere die IDs der Bilder mit Dateigröße wenn das Bild im JPEG-Format vorliegt SELECT Name, Bild.getContentLength() FROM bilder WHERE Bild.getCompressionFormat() = 'JPEG';

22 22 Bsp. Bilddaten kopieren DECLARE Image_1 ORDSYS.ORDImage; Image_2 ORDSYS.ORDImage; BEGIN SELECT Bild INTO Image_1 FROM bilder WHERE Name = 'Nelke'; SELECT Bild INTO Image_2 FROM bilder WHERE Name = 'Rose' FOR UPDATE; -- Bilddaten von Image_1 nach Image_2 Image_1.copy(Image_2); UPDATE bilder SET Bild = Image_2 WHERE Name = 'Nelke'; END;

23 23 Bsp.: Skalieren DECLARE Image ORDSYS.ORDImage; BEGIN -- Bild aus DB laden SELECT Bild INTO Image FROM bilder WHERE id=1 FOR UPDATE; -- Bild auf die Größe 500x500 skalieren Image.process (maxScale=(500,500)); -- Veränderte Daten speichern UPDATE bilder SET Bild = Image WHERE id =10; END;

24 24 Bildformat umwandeln DECLARE Image ORDSYS.ORDImage; BEGIN SELECT Bild INTO Image -- Bild in Variable speichern FROM bilder WHERE Name = Blume' FOR UPDATE; Image.process('fileFormat=TIFF'); -- In TIFF-Format umwandeln UPDATE bilder -- Bild mit neuem SET Bild = Image-- Bildformat speichern WHERE Name = Blume'; END;

25 25 ORDImage AttributeDatentypBeschreibung sourceORDSourceORDSource, in dem die Bilddaten gespeichert sind heightINTEGERHöhe des Bildes widthINTEGERBreite des Bildes contentLengthINTEGERDie Größe des Bildes in Byte fileFormatVARCHAR2 (4000)Datenformat (z.B. jpg) contentFormatVARCHAR2 (4000)Bildtyp(z. B. schwarz/weiß, grau) compressionFormatVARCHAR2 (4000)Kompressionsalgorithmus mimeTypeVARCHAR2 (4000)MIME-Typ

26 26 Fazit Bilder können direkt bei der Ausgabe konvertiert und skaliert werden Nachteil kann unter Umständen viel Zeit in Anspruch nehmen (z.B. JPEG) Bei häufig verwendeten Formaten besser zweites LOB direkt beim Speichern anlegen

27 27 Quellen Oracle interMedia Users Guide php-homepage.de


Herunterladen ppt "1 Oracle interMedia Image Christian Dietz. 2 Inhalt Allgemein LOB ORDImage Eigenschaften Beispiele."

Ähnliche Präsentationen


Google-Anzeigen