Das K Desktop Environment

Kapitel 12. Verwendung von KImageIO mit KScribble

Wenn es um Bilder geht, bieten die Qt und KDE Bibliotheken ein weites Feld an Operationen. Neben den reinen Zeichenroutinen unterstützen die Bibliotheken einen ganzen Satz an Bildformaten, die gelesen und geschrieben werden können- alles ohne Einschränkungen für Ihre Ansicht. Die Hauptklasse für diese Operationen ist QImageIO, die auch eine Supportbibliothek unter KDE hat: KImageIO. Zur Vorbereitung und bevor wir diese schönen Routinen verwenden können, müssen wir die erforderliche Bibliothek für KScribble verfügbar machen: nämlich libkimgio. Öffnen Sie "Projekt"->"Optionen" in KDevelop und fügen Sie die Zeile -libkimgio bei den zusätzlichen Bibliotheken ein.

12.1. Vorbereiten des Dokuments

Nun können wir unsere Änderungen vornehmen. Als erstes müssen wir die Einschränkung, nur PNG Dateien lesen und schreiben zu können, entfernen. Ersetzen Sie in den folgenden Methoden, "PNG" durch "format", wie in den Methoden openDocument() und saveDocument():

In der Methode KScribbleDoc::openDocument():

if(!buffer.load( filename, format ))

In der Methode KScribbleDoc:: saveDocument():

if(!buffer.save( filename, format ))

Jetzt haben wir ein Standardverhalten in diesen Methoden. Trotzdem stehen uns noch nicht alle möglichen Dateiformate zur Verfügung. Darum, und um die Adaptierung der Slots, die uns Dateinamen liefern, kümmern wir uns als nächstes.