Fungsi WcsOpenColorProfileW (icm.h)
Membuat handel ke profil warna tertentu.
Sintaks
HPROFILE WcsOpenColorProfileW(
PPROFILE pCDMPProfile,
PPROFILE pCAMPProfile,
PPROFILE pGMMPProfile,
DWORD dwDesireAccess,
DWORD dwShareMode,
DWORD dwCreationMode,
DWORD dwFlags
);
Parameter
pCDMPProfile
Penunjuk ke WCS DMP atau struktur profil warna ICC yang menentukan profil. Anda dapat membebaskan penunjuk pCDMPProfile setelah membuat handel. Jika profil adalah ICC dan anggota dwType-nya diatur ke DONT_USE_EMBEDDED_WCS_PROFILES, WcsOpenColorProfile mengabaikan profil WCS yang disematkan dalam profil ICC.
pCAMPProfile
Penunjuk ke struktur profil yang menentukan profil model tampilan warna WCS (CAMP). Anda dapat membebaskan penunjuk pCAMPProfile setelah membuat handel. Jika NULL, CAMP default digunakan, dan pengaturan pengguna saat ini, WCS_PROFILE_MANAGEMENT_SCOPE_CURRENT_USER, digunakan saat mengkueri CAMP default.
pGMMPProfile
Penunjuk ke struktur profil yang menentukan profil model peta gamut WCS (GMMP). Anda dapat membebaskan penunjuk pGMMPProfile setelah membuat handel. Jika NULL, GMMP default untuk niat penyajian default digunakan, dan pengaturan pengguna saat ini, WCS_PROFILE_MANAGEMENT_SCOPE_CURRENT_USER, digunakan saat mengkueri GMMP default. Untuk deskripsi niat penyajian, lihat Niat Rendering.
dwDesireAccess
Nilai bendera yang menentukan cara mengakses profil warna yang ditentukan. Parameter ini harus mengambil salah satu nilai berikut:
Nilai | Deskripsi |
---|---|
PROFILE_READ | Menentukan bahwa profil warna terbuka untuk akses baca-saja. |
PROFILE_READWRITE | Menentukan bahwa profil warna terbuka untuk akses baca dan tulis. Nilai bendera ini diabaikan jika profil adalah profil WCS. |
dwShareMode
Nilai bendera yang menentukan tindakan yang harus diambil saat membuka profil warna yang terkandung dalam file. Parameter ini harus mengambil salah satu nilai berikut, yang didefinisikan dalam winnt.h:
Nilai | Deskripsi |
---|---|
FILE_SHARE_READ | Menentukan bahwa Anda dapat melakukan operasi terbuka lainnya (untuk akses baca) pada profil. |
FILE_SHARE_WRITE | Menentukan bahwa Anda dapat melakukan operasi terbuka lainnya (untuk akses tulis) pada profil. Nilai bendera ini diabaikan ketika profil WCS dibuka. |
dwCreationMode
Nilai bendera yang menentukan tindakan yang harus diambil saat membuka profil warna jika terkandung dalam file. Parameter ini harus mengambil salah satu nilai berikut, yang didefinisikan dalam winbase.h:
Nilai | Deskripsi |
---|---|
CREATE_NEW | Menentukan bahwa profil baru dibuat. Fungsi ini gagal jika profil sudah ada. |
CREATE_ALWAYS | Menentukan bahwa profil baru dibuat. Jika profil sudah ada, profil akan ditimpa. |
OPEN_EXISTING | Menentukan bahwa profil dibuka. Fungsi ini gagal jika profil tidak ada. |
OPEN_ALWAYS | Menentukan bahwa profil akan dibuka jika ada file International Color Consortium (ICC). Jika profil ICC tidak ada, WCS akan membuat profil ICC baru. Fungsi akan gagal untuk profil WCS jika bendera ini diatur dan profil WCS tidak ada. |
TRUNCATE_EXISTING | Menentukan bahwa profil akan dibuka dan dipotok menjadi nol byte. Fungsi gagal jika profil tidak ada. |
dwFlags
Nilai bendera yang menentukan apakah akan menggunakan profil WCS yang disematkan. Parameter ini tidak berpengaruh kecuali pCDMProfile menentukan profil ICC yang berisi profil WCS yang disematkan.
Parameter ini mengambil salah satu nilai berikut:
Nilai | Deskripsi |
---|---|
0 | Menentukan bahwa profil WCS yang disematkan akan digunakan dan profil ICC yang ditentukan oleh pCDMPProfile akan diabaikan. |
DONT_USE_EMBEDDED_WCS_PROFILES | Menentukan bahwa profil ICC yang ditentukan oleh pCDMPProfile akan digunakan dan profil WCS yang disematkan akan diabaikan. |
Mengembalikan nilai
Jika fungsi ini berhasil, nilai yang dikembalikan adalah handel profil warna yang dibuka.
Jika fungsi ini gagal, nilai yang dikembalikan adalah NULL.
Keterangan
API ini akan mengambil satu set DMP, CAMP, dan GMMP dan mengembalikan handel profil WCS. Nilai NULL untuk GMMP valid. Nilai NULL untuk CAMP akan diganti dengan nilai CAMP default.
API ini juga akan menerima profil ICC. Menggunakan profil ICC tidak menjamin pemrosesan oleh mesin WCS CITE. Mesin WCS hanya akan digunakan jika diteruskan setidaknya satu profil WCS. Alur kerja ICC murni akan konsisten dengan perilaku warisan.
Anda dapat menggunakan handel yang dikembalikan fungsi ini dalam fungsi manajemen profil warna lainnya.
dwCreationMode menandai CREATE_NEW, CREATE_ALWAYS, dan TRUNCATE_EXISTING akan selalu mengembalikan ICC HPROFILEs kosong. Jika ada bendera dwCreationMode lainnya, fungsi akan menentukan apakah profil tersebut adalah ICC atau WCS XML.
Dalam jalur kode ICC, ICC HPROFILE dikembalikan menggunakan bendera berbagi, akses, dan pembuatan yang diminta seperti yang ditentukan dalam tabel di atas.
Dalam jalur WCS, bendera dwCreationMode OPEN_ALWAYS akan gagal jika profil tidak ada, karena profil WCS tidak dapat dibuat atau diedit dalam arsitektur WCS (mereka harus diedit di luarnya, menggunakan MSXML6). Untuk alasan yang sama, bendera dwShareMode FILE_SHARE_WRITE, dan bendera dwDesiredAccess PROFILE_READWRITE diabaikan dalam jalur WCS.
Setelah handel ke profil warna dibuat, informasi apa pun yang digunakan untuk membuat handel tersebut dapat dihapus.
Gunakan fungsi CloseColorProfile untuk menutup handel objek yang dikembalikan oleh WcsOpenColorProfile.
Persyaratan
Persyaratan | Nilai |
---|---|
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 |