Home / EasyLinux / 2007 / 03 / Nachgezeichnet

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

Eingedost
(161 Punkte bei 4 Stimmen)
Aufteiler
(161 Punkte bei 4 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.

Aufmacher Artikel

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

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

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.

Tip a friend    Druckansicht Bookmark and Share
Kommentare

620 Hits
Wertung: 192 Punkte (8 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

title_2014_02

Aktuelle Ausgabe kaufen:

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

Bilder vergleichen mit diffimg
Bilder vergleichen mit diffimg
Tim Schürmann, 01.04.2014 12:40, 1 Kommentare

Das kleine Werkzeug diffimg kann zwei (scheinbar) identische Bilder miteinander vergleichen und die Unterschiede optisch hervorheben. Damit lassen sich nicht nur Rätsel a la „Orignial und Fäls...

Aktuelle Fragen

programm suche
Hans-Joachim Köpke, 13.04.2014 10:43, 8 Antworten
suche noch programme die zu windows gibt, die auch unter linux laufen bzw sich ähneln sozusagen a...
Funknetz (Web-Stick)
Hans-Joachim Köpke, 04.04.2014 07:31, 2 Antworten
Bei Windows7 brauche ich den Stick nur ins USB-Fach schieben dann erkennt Windows7 Automatisch, a...
Ubuntu 13.10 überschreibt immer Windows 8 Bootmanager
Thomas Weiss, 15.03.2014 19:20, 8 Antworten
Hallo Leute, ich hoffe das ich richtig bin. Ich habe einen Dell Insipron 660 Ich möchte gerne Ub...
USB-PTP-Class Kamera wird nicht erkannt (Windows-only)
Wimpy *, 14.03.2014 13:04, 15 Antworten
ich habe meiner Frau eine Digitalkamera, AGFA Optima 103, gekauft und wir sind sehr zufrieden dam...
Treiber
Michael Kristahn, 12.03.2014 08:28, 5 Antworten
Habe mir ein Scanner gebraucht gekauft von Canon CanoScan LiDE 70 kein Treiber wie bekomme ich de...