Condividi tramite


Gestione dei formati di colore

Importante

La piattaforma di stampa moderna è il mezzo preferito di Windows per comunicare con le stampanti. Ti consigliamo di usare il driver di classe IPP di Microsoft, insieme a Print Support Apps (PSA), per personalizzare l'esperienza di stampa in Windows 10 e 11 per lo sviluppo di dispositivi per stampanti.

Per altre informazioni, vedere Piattaforma di stampa moderna e guida alla progettazione dell'app di supporto per la stampa.

Ogni formato di colore supportato da una stampante viene specificato come opzione per la funzionalità ColorMode. Utilizzando gli attributi di opzione per la funzionalità ColorMode, è possibile descrivere ogni formato di colore accettato dalla stampante. Nella tabella seguente vengono illustrati i formati di dati a colori che Unidrv può gestire.

Numero di piani di colore Numero di bit per pixel
nel dispositivo (*DevNumOfPlanes) in Dispositivo (*DevBPP)
1 1 (nero e bianco)
1 8
1 24
3 1 (CMY e RGB)
4 1 (CMYK)

Per questi formati, Unidrv può convertire i dati bitmap indipendenti dal dispositivo (DIB) nel formato corretto e inviarli alla stampante. Le operazioni di halftoning che possono essere eseguite su questi dati sono descritte in Halftoning con Unidrv.

Se la stampante supporta formati di colore non elencati nella tabella precedente, è necessario eseguire le operazioni seguenti:

  • Impostare gli attributi *DevNumOfPlanes e *DevBPP su zero. In questo modo si impedisce a Unidrv di inviare dati DIB alla stampante.

  • Fornire un plug-in di rendering che implementa il metodo IPrintOemUni ImageProcessing.

Il metodo IPrintOemUni ImageProcessing deve eseguire le operazioni seguenti:

  • Convertire i dati DIB nel formato colore della stampante.

  • Eseguire operazioni di halftoning sui dati.

  • Inviare i dati allo spooler di stampa.

Per altre informazioni sulla fornitura di una funzione ImageProcessing IPrintOemUni, vedere Customized Color Formats.For more information about providing an IPrintOemUni ImageProcessing function, see Customized Color Formats.

Rendering di immagini di alta qualità

Per ogni formato di colore, si specificano entrambi i bit per pixel accettati dall'hardware della stampante e i bit per pixel che si vuole usare unidrv durante la creazione di DIB. Questi valori vengono specificati rispettivamente con gli attributi *DevBPP e *DrvBPP. A volte, è consigliabile eseguire il rendering delle immagini come bitmap con un numero di bit più elevato per pixel rispetto alla stampante in grado di gestire (ad esempio, per tentare di riprodurre fotografie di alta qualità). Pertanto, è possibile specificare un valore *DrvBPP maggiore del risultato della moltiplicazione del valore *DevBPP per il valore *DevNumOfPlanes.

Si supponga, ad esempio, di voler definire un'opzione ColorMode che determina il rendering delle immagini come bitmap a 24 bit/pixel, ma si vuole che la bitmap venga inviata alla stampante come dati CMYK . È possibile definire questa modalità come indicato di seguito:

*Feature: ColorMode
{
    *Option: 24toCMYK
    {
        *Name: "Photographic Quality"
        *DrvBPP: 24
        *DevNumOfPlanes: 4
        *DevBPP: 1
        *ColorPlaneOrder: LIST(CYAN, MAGENTA, YELLOW, BLACK)
        *IPCallbackID: 1
    }
 other options
}

In questo esempio, gli attributi *DevBPP e *DevNumOfPlanes rappresentano il formato CMYK a quattro piani, a un bit per piano, che Unidrv può eseguire il rendering e quindi inviare alla stampante. Tuttavia, in questo caso, le operazioni di halftoning devono essere eseguite sull'immagine sottoposta a rendering prima che venga stampata. È necessario usare il halftoning fornito dal minidriver.