Bagikan melalui


Menangani format warna

Penting

Kami menyarankan agar Anda menggunakan driver kelas kotak masuk IPP Microsoft, bersama dengan Print Support Apps (PSA), untuk menyesuaikan pengalaman cetak di Windows 10 dan 11 untuk pengembangan perangkat printer.

Untuk informasi selengkapnya, lihat Panduan desain aplikasi dukungan cetak.

Setiap format warna yang didukung printer ditentukan sebagai opsi untuk fitur ColorMode. Dengan menggunakan atribut opsi untuk fitur ColorMode, Anda dapat menjelaskan setiap format warna yang diterima printer Anda. Tabel berikut ini mengilustrasikan format data warna yang bisa ditangani Unidrv.

Jumlah bidang warna Jumlah bit per piksel
di Perangkat (*DevNumOfPlanes) di Perangkat (*DevBPP)
1 1 (Hitam dan putih)
1 8
1 24
3 1 (CMY dan RGB)
4 1 (CMYK)

Untuk format ini, Unidrv dapat mengonversi data bitmap independen perangkat (DIB) ke dalam format yang tepat dan mengirimkannya ke printer. (Operasi halftoning yang dapat dilakukan pada data ini dijelaskan dalam Halftoning dengan Unidrv.)

Jika printer Anda mendukung format warna yang tidak tercantum dalam tabel sebelumnya, Anda harus melakukan hal berikut:

Metode IPrintOemUni ImageProcessing harus melakukan operasi berikut:

  • Konversikan data DIB ke dalam format warna printer.

  • Lakukan operasi halftoning pada data.

  • Kirim data ke penampung cetak.

Untuk informasi selengkapnya tentang menyediakan fungsi ImageProcessing IPrintOemUni , lihat Format Warna yang Disesuaikan.

Merender Gambar Berkualitas Tinggi

Untuk setiap format warna, Anda menentukan bit per piksel yang diterima perangkat keras printer dan bit per piksel yang Anda inginkan untuk digunakan Unidrv saat membuat DIB. Nilai-nilai ini ditentukan dengan atribut *DevBPP dan *DrvBPP, masing-masing. Terkadang, diinginkan agar gambar dirender sebagai bitmap yang memiliki jumlah bit yang lebih tinggi per piksel daripada yang dapat ditangani printer (misalnya, untuk mencoba mereproduksi foto berkualitas tinggi). Oleh karena itu, diperbolehkan untuk menentukan nilai *DrvBPP yang lebih besar dari hasil mengalikan nilai *DevBPP dengan nilai *DevNumOfPlanes.

Misalnya, Anda ingin menentukan opsi ColorMode yang menyebabkan gambar dirender sebagai bitmap 24 bit/piksel, tetapi kemudian Anda ingin bitmap dikirim ke printer sebagai data CMYK . Anda dapat menentukan mode ini sebagai berikut:

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

Dalam contoh ini, atribut *DevBPP dan *DevNumOfPlanes mewakili format CMYK empat bidang, satu-bit-per-bidang yang dapat dirender Unidrv dan kemudian dikirim ke printer. Namun, dalam hal ini, operasi halftoning harus dilakukan pada gambar yang dirender sebelum dicetak. Halftoning yang disediakan minidriver harus digunakan.