![]() |
![]() |
|
|
|||||||
| Programmierung Rat & Tat für Programmierer |
|
|
Themen-Optionen | Ansicht |
|
|
#3 |
|
Inventar
![]() Registriert seit: 24.01.2001
Beiträge: 5.631
|
Das Drucken ist unter Windows standardisiert. Die Druckertreiber erledigen die Arbeit, die das Windows System vorbereitet hat. Es geht also in erster Linie nicht um den Druckertreiber (jeder Drucker wird entsprechend seinem Befehlssatz unterschiedlich durch ein proprietäres (=eigenständiges) Druckertreiberprogramm angesteuert) sondern um das GDI (graphical device interface) von Windows. Bei "Postscript und 'Derivaten davon(=von Postscript)'" wird eine Metadatei mit Objektbefehlen und Parameterdaten an den Drucker geschickt (eine Postscript(befehls)DATEI also). Dies generiert (=zeichnet =rendert) die auszudruckende Seite im Drucker, weil dafür ein Postscript verstehender Chip im Drucker vorhanden ist.
Beim GDI hingegen wird eine Bitmapseite im COMPUTERSPEICHER (und somit nicht wie bei Postscript im Druckerspeicher) aufgebaut und die einzelnen Pixelzeilen an den Drucker in sogenannten Bands (mehrere Pixelzeilen) geschickt. Das Zeichnen von Linien und Kreisen, Text und Bitmapgrafikbildern übernimmt also das GDI (=ein bzw. der wesentlichste Teil von Windows). Wobei das GDI durch Funktionsaufrufe aus dem Anwendungsprogramm unter Bekanntgabe des Drucker Gerätekontextes benutzt wird um die bestimmten Objekte in den Computerspeicher (die spätere Seite auf dem Druckerpapier) zu schreiben. Bei einem Postscript Drucker passiert dieses "Zeichnen" im Drucker selbst. Es wird der druckereigene RAM Speicher beschrieben und nach Abarbeitung aller Postscriptbefehle das Bild durch die Tonereinheit (zumeist sind PS fähige Drucker Laserdrucker) ausgegeben. Bei einigen Derivaten von Postscript (=PS, Abk.) wie es zum Beispiel "Ghostscript" darstellt, passiert das Zeichnen wiederum im Computer durch einen zwischengeschaltenen virtuellen Postscriptdruckertreiber, der nichts anderes tut als Postscriptbefehle abzuarbeiten und ein Bild im Computerspeicher zu erzeugen. Das fertige Dokument (Bitmapbild) kann dann von einem regulären Druckertreiber ausgedruckt werden, indem man im Dialogprogramm des Frontend Programms für Ghostscript einen Druckertreiber bei der Installation/Parametrierung angibt und dieser dann aufgerufen wird. Der Grund warum Postscript fähige Drucker weniger Auflösung haben als GDI Drucker liegt also am installierten (begrenzten) RAM Speicher im Drucker. 600 x 600 dpi sind üblich. Der Speicher macht diese Art von Druckern teurer als zum Beispiel Tintenstrahldrucker mit wenig "Band" RAM Speicher. Was im Windows passiert ist also ein Funktionsaufruf für die Ausgabe von z.B. Text unter Angabe einer sogenannten Handle(=Begriffs)nummer für den Druckergerätekontext. Im Druckergerätekontext sind Dinge wie der aktuelle Zeichensatz, der Hintergrund (Bitmap oder Einzelfarbe etc.) und Verknüpfungsmodi wie "transparent" oder "opaque" (=deckend) hinterlegt und eingestellt (durch das Anwendungsprogramm). Dieser als Beispiel ausgegebene Text wurde beim Füllen in die Bitmapdokumentenseite auf die richtige (=aktuell eingestellte) Größe umgerechnet und von einer Vektorschrift (TTF) bzw. Bitmapschrift (FON) in ein Pixelmuster umgesetzt und in den Computerspeicher (eben die Bitmapdokumentenseite) kopiert. Für den Programmierer gibt es einige Funktionen wie StartDoc, AbortDoc und EndDoc sowie die eigentlichen GDI Ausgabe- und Resourcenanforderungs/ sowie -verwaltungsfunktionen. mfg Kikakater |
|
|
|
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|