Bagikan melalui


Fungsi WcsCreateIccProfile (icm.h)

Mengonversi profil WCS menjadi profil International Color Consortium (ICC).

Sintaks

HPROFILE WcsCreateIccProfile(
  HPROFILE hWcsProfile,
  DWORD    dwOptions
);

Parameter

hWcsProfile

Handel ke profil warna WCS yang dikonversi. Lihat Keterangan.

dwOptions

Nilai bendera yang menentukan opsi konversi profil.

Secara default, profil WCS asli yang digunakan untuk konversi disematkan di profil ICC output dalam tag privat Microsoft, WcsProfilesTag (dengan tanda tangan "MS000". Ini menghasilkan profil ICC yang kompatibel dengan perangkat lunak ICC, namun mempertahankan data profil WCS asli yang tersedia untuk kode yang dirancang untuk mengurainya.

Nilai yang mungkin dari parameter ini adalah sebagai berikut. Bit apa pun yang tidak ditentukan dalam daftar ini dicadangkan dan harus diatur ke nol:

Nilai Deskripsi
WCS_DEFAULT Menentukan bahwa profil ICC baru berisi profil WCS asli di WcsProfilesTag privat.
WCS_ICCONLY Menentukan bahwa profil ICC baru tidak berisi WcsProfilesTag atau profil WCS asli.

Nilai kembali

Jika fungsi ini berhasil, nilai yang dikembalikan adalah handel dari profil warna baru.

Jika fungsi ini gagal, nilai yang dikembalikan adalah NULL. Untuk informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

Fungsi ini dapat digunakan dengan string ASCII atau Unicode.

Fungsi CloseColorProfile harus digunakan untuk menutup handel HPROFILE yang dikembalikan ketika tidak lagi diperlukan.

DMP, CAMP, dan GMMP dari HPROFILE disematkan dalam tag privat dalam profil ICC yang dibuat.

Profil ICC yang dibuat menggunakan API ini akan memiliki tag deskripsi profilnya yang dibuat dari elemen ProfileName profil WCS sesuai dengan pola berikut: "Dibuat oleh Microsoft WCS dari DMP:[DMP ProfileName], CAMP:[the CAMP ProfileName], GMMP:[the GMMP ProfileName]"

Ketika WCS menemukan profil ICC ini (melalui OpenColorProfileW atau WcsOpenColorProfileW ), WCS mengekstrak dan menggunakan profil WCS yang terkandung dalam WcsProfilesTag.

Informasi di luar gamut dalam tag gamut yang dibuat di WCS menggunakan jarak warna persepsi di CIECAM02, yang merupakan akar kuadrat rata-rata di ruang CIECAM02 Jab. Jarak dalam tag gamut profil ICC warisan adalah akar kuadrat rata-rata di ruang CIELAB. Disarankan agar Anda menggunakan ruang CIECAM02 saat tersedia, untuk memberikan metrik jarak yang lebih akurat secara perseptual.

WCS mengekstrak dan menggunakan profil WCS asli dengan cara profil XML yang secara eksplisit terkait dengan perangkat, atau profil ICC yang memilikiWcsProfilesTag.

WcsProfilesTag adalah tag profil ICC privat Microsoft yang digunakan dalam profil yang dibuat oleh WcsCreateIccProfile untuk berisi input profil WCS ke WcsCreateIccProfile. Tag ini sesuai dengan persyaratan profil ICC untuk tag profil. Komponen non-XML tag harus dalam urutan byte "Big-Endian", yang merupakan standar untuk profil ICC. Selanjutnya, data tag harus diselaraskan pada batas 4 byte (diukur sejak awal profil ICC). Struktur tag ditentukan oleh WcsProfilesTagType di bawah ini. Perhatikan bahwa komponen XML tag, profil WCS yang terkandung dalam WcsProfileTag, dibiarkan dalam urutan byte aslinya, yang mungkin merupakan little-endian atau big-endian karena parser XML juga memproses dengan benar.

Tanda tangan WcsProfilesTag adalah "MS00". Ini adalah tanda tangan tag yang akan muncul di tabel tag profil ICC untuk WcsProfilesTag.

Struktur WcsProfilesTagType memiliki struktur berikut:

Byte Offset Konten
0-3 Tanda tangan jenis MS10.
4-7 Dicadangkan, harus diatur ke 0 (tradisi ICC).
8-11 Byte offset dari awal tag ke data CDMP.
12-15 Ukuran data CDMP dalam byte.
16-19 Byte offset dari awal tag ke data CAMP.
20-23 Ukuran data CAMP dalam byte.
24-27 Byte offset dari awal tag ke data GMMP.
28-31 Byte offset dari awal tag ke data GMMP.
31-n Urutan (ukuran elemen -32) byte [di mana ukuran elemen adalah ukuran tag yang dicatat dalam entri tabel tag profil ICC untuk tag ini.]

Ini adalah profil XML WCS yang digunakan oleh WcsCreateIccProfile untuk membuat profil ICC ini. Profil WCS diurutkan: DMP (diperlukan) terlebih dahulu, diikuti oleh CAMP (jika ada), diikuti oleh GMMP (jika ada).

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Header icm.h
Pustaka Mscms.lib
DLL Mscms.dll

Lihat juga