![]() |
Primer di computer grafica | ||
| |
|||
|
|||
| Ogni stampante accetta certi comandi, esclusivi per quella stampante.
Un programma, per supportare una stampante, deve essere in grado di dare i comandi adeguati per quella stampante. Normalmente un programma, per poter essere venduto deve supportare qualche decine di stampanti, e quindi deve conoscere i comandi adeguati a tutte queste stampanti. Un'alternativa a questa situazione consiste in un accordo vituale tra produttori di software e produttori di stampanti, con l'intermediazione del produttore del sistema operativo. Il sistema operativo stabilisce un determinato linguaggio grafico, genericamente adatto per tutte le stampanti (su MacOS è QuickDraw, su Windows è GDI). Un programma, per stampare, emette unicamente istruzioni in questo linguaggio. D'altra parte il costruttore di una stampante realizza un driver per quella stampante che accetta comandi in questo linguaggio e li trasforma in comandi per quella determinata stampante. |
|||
| Il sistema operativo MacOS consente di collegare a Macintosh una stampante. I dati vengono spediti a tale stampante mediante istruzioni espresse in linguaggio QuickDraw, che è appunto la parte del sistema operativo che gestisce la grafica, sia su monitor che in stampa. Il sistema operativo colloquia con la stampante (in QuickDraw) mediante un driver proprietario. Attraverso questo driver l'applicazione spedisce alla stampante la mappa di pixel (CMY, o CMYK, o CcMmYK) da stampare. Un stampante che funziona in questo modo è detta stampante QuickDraw.
Possono esistere altre situazioni, in cui la stampa non viene effettuata tramite il sistema operativo (cioè tramite QuickDraw). La più comune di queste situazioni è la stampa PostScript. In questo caso la stampante utilizzata interpreta un programma scritto in linguaggio PostScript. La trasmissione di questo programma avviene mediante un driver di stampa PostScript (su Macintosh, LaserWriter o AdobePS). Oltre al PostScript, possono esistere altre situazioni non gestite dal sistema operativo. Per esempio si può collegare a un Macintosh un plotter che interpreta il linguaggio HPGL. In tal caso deve essere l'applicazione a gestire direttamente il plotter, senza utilizzare il sistema operativo e quindi senza un driver. Su Windows (dove la parte del sistema operativo che gestisce la grafica si chiama GDI) la situazione è analoga. |
|||
| Le stampanti a colori per personal computer funzionano con tre (CMY), quattro (CMYK) o sei colori (CcMmYK).
QuickDraw (come GDI) può rappresentare un colore con al massimo tre componenti (per esempio RGB) e quindi non ha le adeguate strutture linguistiche per specificare un colore CMYK (che ha quattro componenti). Di conseguenza ad una stampante QuickDraw è possibile trasmettere solo dati RGB e non c'è modo di trasmettere dati CMYK. Non si tratta di una limitazione della stampante ma di QuickDraw, il linguaggio di trasmissione dei dati. Chi trasforma i dati RGB in dati CMYK? E' il driver stesso della stampante a farlo che, come detto, è sempre un driver proprietario, specifico per quella stampante, normalmente non "aperto", i cui dettagli cioè non sono noti (è una cosiddetta "scatola nera"). In una stampante QuickDraw il flusso di stampa avviene in questo modo:
La conversione finale (passo 4) tra RGB e CMYK è oggi sempre fatta in software, nel driver della stampante, normalmente con una LUT (lookup table) che ha una sua propria generazione del nero, limite di inchiostri e tutto il resto. In teoria la conversione potrebbe anche essere fatta in hardware (nell'elettronica della stampante), ma è un metodo che non si usa: forse veniva usato una volta nelle stampanti ad aghi, ma la conversione RGB-CMYK dipende dalla combinazione carta/inchiostro e non è conveniente inserire nell'hardware diverse LUT per diverse combinazioni fisse carta/inchiostro. Invece nel driver software queste LUT si possono modificare e aggiornare. In teoria potrebbe anche essere fatta da ColorSync, ma anche questo metodo non viene più usato probabilmente a causa del fatto che la conversione da RGB a CMYK è intimamente collegata con la retinatura (screening), generazione del nero, limiti degli inchiostri, e comunque richiederebbe all'utente la scelta di un profilo CMYK per la stampante. |
|||
| Da quanto detto è impossibile che al driver della stampante arrivino dati CMYK, perché QuickDraw non ha modo di trasmetterli.
Se i dati di partenza sono CMYK, il programma applicativo, per esempio Photoshop li converte in RGB (con qualche metodo rudimentale) e li trasmette mediante QuickDraw al driver della stampante, il quale li riconverte in CMYK, li rasterizza e li invia alla stampante. Avviene quindi una doppia conversione che è da evitare per ragioni di efficienza e di qualità. Se è proprio necessario inviare alla stampante direttamente dei dati CMYK occorre che il programma aggiri QuickDraw. Per esempio si potrebbe sviluppare un plug-in di Photoshop che trasmette direttamente i dati alla stampante. Oppure si potrebbe estendere il driver per supportare la stampa diretta per esempio di TIFF CMYK. Oppure si può usare un driver PostScript, che supporta CMYK. Conclusione: le stampanti QuickDraw possono ricevere dall'applicazione solo dati RGB e per questo motivo sono dette anche stampanti RGB. |
|||
| |
|||
|
|||