Jedes Bild, das ein Scanner in eine Datei gelegt hat

Ein Scanner liefert nicht eine Datei pro Blatt. Er liefert eine Datei mit dem ganzen Stapel darin, und dasselbe gilt für ein Faxgerät: Jede Seite der Übertragung ist darin, eine nach der anderen. Software, die nur die erste ansieht, verliert stillschweigend den Rest, und niemand merkt es bis zu dem Tag, an dem jemand Seite vier braucht.

Die Datei wird also gefragt, wie viele Bilder sie enthält, und jedes davon wird nacheinander übernommen und erhält eine Seite in seiner eigenen Größe. Eine der beiden Dateien auf dieser Seite enthält drei Blätter; die andere ein einzelnes Foto, und dieses wird übernommen, ohne zerlegt und wieder zusammengesetzt zu werden — ein Foto kann die Anzeigesoftware bereits anzeigen, es anzufassen bringt also nichts und kostet Qualität.

Was dieses Beispiel zeigt

  • Jedes Bild der Datei, nicht nur das erste.
  • Jedes auf einer Seite in seiner eigenen Größe.
  • Ein Foto in der Datei wird unverändert übernommen und kommt daher so scharf heraus, wie es hineinging.

Der Quellcode, vollständig

Nichts ist weggelassen und nichts vereinfacht: Das ist das Programm genau so, wie es läuft, für den Entwickler, der diese Bibliothek nutzt. Die dritte ist die Beschreibung selbst: eine schlichte Liste dessen, was die Seite sagen muss, und das wird dem Dienst gesendet.

Den Rust-Quellcode lesen Den Python-Quellcode lesen Den JSON-Quellcode lesen

Das Dokument selbst

Das Dokument öffnen

Beispiele in der Nähe

Bilder auf einer Seite

Ein Foto, das genau so hineingeht, wie es aus der Kamera kam, und eines mit durchsichtigen Teilen, das sie behält, jedes auf einer Seite in seiner eigenen Größe.

Eine Galerie der Bildformate

Die vier gelesenen Bildformate — JPEG, PNG, BMP und TIFF —, gezeigt an jedem mit der Bibliothek ausgelieferten Bild, jedes mit dem beschriftet, was seine eigene Datei angibt.

Ein in ein Rechteck eingepasstes Bild

Ein Bild, auf acht Arten in ein Rechteck einer Größe eingepasst: drei Arten, es zu bemessen, dasselbe in die linke obere Ecke gestellt mit einem Einzug von 12 Punkt, eine Vierteldrehung nach links, eine Vierteldrehung nach rechts, eine Drehung um 20 Grad und eine Spiegelung von links nach rechts — jedes Feld zeichnet das Bild an der Stelle und in der Größe, die die Bibliothek berechnet hat. Eine zweite Seite fügt acht weitere hinzu: das Bild in seiner eigenen Größe, dann doppelt so groß und dort abgeschnitten, wo es übersteht; nur verkleinert, wenn es zu groß ist; an neun Positionen zugleich gesetzt; ein Viertel nach innen und nach unten platziert; um eine halbe Drehung gedreht; und von oben nach unten gespiegelt.

Code 128 und Handels-Barcodes

Striche für die beiden Aufgaben, die sie wollen: Code 128 für beliebigen Text und die drei, die eine Kasse liest — EAN-13, UPC-A, EAN-8 —, jeder mit berechneter statt eingetippter letzter Ziffer.

QR-Codes

Der Code, den eine Rechnung, eine Bordkarte oder ein Etikett am Ende braucht, in das Dokument gezeichnet statt als Bild geholt und eingefügt.

Jedes Beispiel, nach Thema