Home / EasyLinux / 2007 / 03 / Nachgezeichnet

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Debian 7.1 ist erschienen
(179 Punkte bei 5 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.

Nachgezeichnet

potrace wandelt Pixelbilder in Vektorgrafiken um

12.07.2007 Vektorgrafiken haben gegenüber Pixelbildern einen großen Vorteil: Sie sind frei skalierbar, ohne dass beim Vergrößern hässliche Treppenstufen und Riesenpixel entstehen. Doch was tun, wenn ein Bild nur im Pixelformat vorliegt? Das Tool "potrace" hilft.

Große Pixel zerstören jedes noch so schöne Bild – sie entstehen, wenn ein Bild nur in niedriger Auflösung vorliegt und mit einem Grafikprogramm hochskaliert werden. Grafikprofis versuchen daher, weitgehend auf den Einsatz von Pixelgrafiken zu verzichten: Stattdessen arbeiten sie mit Vektorgrafiken, die nicht aus Pixeln bestehen, sondern Beschreibungen der auf dem Bild sichtbaren Objekte enthalten, z. B. geometrische Figuren oder Schrift.

Vektorgrafiken haben gleich mehrere Vorteile:

  • Die einzelnen Elemente, aus denen sie bestehen, verschieben oder entfernen Sie bei Bedarf, und Texte bleiben auch nach dem Speichern und Wiederöffnen frei veränderbar.
  • Die ganze Grafik ist beliebig skalierbar: Wollen Sie das Bild in Postergröße ausdrucken, ist das kein Problem.

Arbeiten Sie stattdessen mit Pixelbildern, müssen Sie immer ein möglichst hoch auflösendes Original erstellen und dieses dann auf die benötigten Größen runter skalieren – stets in der Hoffnung, dass Sie nicht eines Tages eine noch höhere Auflösung benötigen.

Ausweg aus der Pixelfalle

Doch wenn Sie schon einen großen Bestand an Pixelgrafiken haben oder ein im Internet gefundenes, niedrig aufgelöstes Bild verwenden wollen, haben Sie noch eine Chance: Ein Vektorisierer durchsucht Pixelbilder nach Mustern und erstellt daraus eine Vektorgrafik. Dieser Prozess ist – abhängig von der Quelldatei und vom benutzten Tool – mehr oder weniger erfolgreich. Für Linux übernimmt das Programm potrace[1] diese Aufgabe. Sie installieren das Tool wie üblich von der Heft-DVD oder suchen bei Bedarf auf der Webseite nach einer aktuelleren Version.

Ein erstes Beispiel macht deutlich, was potrace leistet: Abbildung 1 zeigt einen Screenshot des Webbrowsers Opera, der die EasyLinux-Startseite anzeigt. Das rechte Bild enthält einen kleinen, hoch skalierten Ausschnitt dieses Screenshots: Deutlich erkennt man hier die Rasterung und die Treppenstufen.

Abbildung 1: In der Vergrößerung wird es deutlich: Pixelgrafiken sind nicht skalierbar.

Da potrace nur Dateien in den Formaten bmp, pnm, pbm, pgm und ppm akzeptiert, steht zunächst eine Konvertierung in eines dieser Bildformate an – dafür eignet sich convert[2]. In der einfachsten Form benötigt potrace nur einen Dateinamen als Argument und erzeugt dann automatisch eine Ausgabedatei im EPS-Format, aus bild.pnm wird also bild.eps. Über die Option -o ist es möglich, einen alternativen Namen anzugeben.

convert screenshot.png screenshot.pnm
potrace screenshot.pnm -o test1.eps

Das Resultat sehen Sie in Abbildung 2 links – oben die vollständige Grafik und unten eine Ausschnittsvergrößerung. Auf den ersten Blick wirkt das schon recht brauchbar, die Details zeigen aber, dass zum Beispiel die Buchstaben "f" und "t" stark verunstaltet sind.

Abbildung 2: Solche Vektorgrafiken erzeugt "potrace" – links ohne Optimierung, rechts mit vorheriger Skalierung durch "mkbitmap".

Optimierung

Um bessere Ergebnisse zu erzielen, nutzen Sie das Programm mkbitmap, das zum Lieferumfang des potrace-Pakets gehört: Es konvertiert das Ausgangsbild mit vielen Einstellungsmöglichkeiten vor dem potrace-Aufruf. Meist reicht es schon aus, das Bild zunächst ein wenig zu vergrößern: Das verbessert zwar nicht die Details (genau das ist ja das Problem mit den Pixeln), aber potrace kann mit dem höher aufgelösten Bild besser umgehen.

Im folgenden Beispiel vergrößert mkbitmap das Bild um den Faktor 2 und setzt gleichzeitig (mit -t 0.5) einen Grenzwert (0,5) für Grauwerte im Bild, die noch als schwarz gelten sollen:

mkbitmap -s 2 -t 0.5 screenshot.pnm -o test2.pbm
potrace test2.pbm -o test2.eps

Im Idealfall sind die Bilder, die Sie potrace übergeben, reine Schwarz-Weiß-Grafiken. Für das Konvertieren in dieses Format können Sie statt mkbitmap auch ein anderes Tool verwenden. Das Ergebnis dieser Optimierung sehen Sie in der rechten Hälfte von Abbildung 2 – schon in der Gesamtdarstellung wirken die Buchstaben ausgeglichener, und das Detailbild zeigt, dass die vorher problematischen Buchstaben "f" und "t" jetzt die richtige Form haben.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

503 Hits
Wertung: 192 Punkte (8 Stimmen)

Schlecht Gut

Infos zum Autor

Hans-Georg Eßer

Hans-Georg Eßer

Hans-Georg Eßer ist Chefredakteur der Zeitschrift EasyLinux, Doktorand an der Uni Erlangen-Nürnberg und seit Mitte der 90er begeisterter Linux-Anwender.


Infos zur Publikation

Infos zur Publikation

EasyLinux 02/2013

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

EasyLinux erscheint vierteljährlich und kostet EUR 9,80. Weitere Informationen zum Heft finden Sie auf der EasyLinux-Homepage.

Das EasyLinux-Jahresabo mit Prämie kostet ab EUR 33,30. Details zum EasyLinux-Jahresabo finden Sie im Medialinx-Shop.

Tipp der Woche

whowatch
Nutzer und Prozesse mit whowatch überwachen
Tim Schürmann, 18.06.2013 12:49, 0 Kommentare

Wenn Administratoren herausfinden wollen oder müssen, was die Benutzer auf einem System gerade so treiben, dann hilft ihnen whowatch. Das kleine Kommandozeilenprogramm zeigt in Ec...

Aktuelle Fragen

SUSE 12.3 64Bit: Miro funzt nicht
Wimpy *, 14.06.2013 13:05, 5 Antworten
Seit Installation von openSUSE 12.3 64Bit startet Miro nicht. (Version 5.0.4-1.24-x86_64 von Pa...
Kontakt via QR code hinzufügen
Herman Sproesser, 17.05.2013 17:46, 4 Antworten
Hi hab in der aktuellen ausgabe 06.2013 den artikel über QR Codes gelesen. Ich hab nartürlich...
Dateimanager Dolphin, wo legt er die Datei Kommentare ab?
Uwe Heine, 16.05.2013 15:19, 1 Antworten
Suse Linux 12.1 - KDE 4.7.2 / Dolphin 1.7. Ich habe bei vielen Dateien über Dolphin Kommentare...
wie baut man Kernel Module so, dass sie mit jedem Kernel laden?
GoaSkin , 22.04.2013 10:22, 1 Antworten
Hallo, baut man anhand eines Kernel-Sources Module, nutzt Linux im Normalfall eine strikte V...
Problem beim Installieren von SuSe 12.3
Georg Prokert, 14.04.2013 00:04, 16 Antworten
Hallo, auf meinem neuem Laptop (Acer Aspire V3-771, Intel Core i5-3230 M, Intel HD Graphics 4...