Bagikan melalui


Fungsi CheckBitmapBits (icm.h)

Memeriksa apakah piksel dalam bitmap tertentu terletak dalam gamut output dari transformasi tertentu.

Sintaks

BOOL CheckBitmapBits(
  HTRANSFORM    hColorTransform,
  PVOID         pSrcBits,
  BMFORMAT      bmInput,
  DWORD         dwWidth,
  DWORD         dwHeight,
  DWORD         dwStride,
  PBYTE         paResult,
  PBMCALLBACKFN pfnCallback,
  LPARAM        lpCallbackData
);

Parameter

hColorTransform

Tangani ke transformasi warna yang akan digunakan.

pSrcBits

Arahkan ke bitmap untuk memeriksa gamut output.

bmInput

Menentukan format bitmap. Harus diatur ke salah satu nilai jenis enumerasi BMFORMAT .

dwWidth

Menentukan jumlah piksel per baris pemindaian bitmap.

dwHeight

Menentukan jumlah baris pemindaian bitmap.

dwStride

Menentukan jumlah byte dari awal satu baris pemindaian ke awal baris berikutnya. Jika diatur ke nol, baris pemindaian bitmap diasumsikan sebagai padded sehingga selaras dengan DWORD.

paResult

Arahkan ke array byte tempat hasil pengujian akan ditempatkan. Buffer hasil ini harus berisi setidaknya sebanyak byte karena ada piksel dalam bitmap.

pfnCallback

Penunjuk ke fungsi panggilan balik yang disebut secara berkala oleh CheckBitmapBits untuk melaporkan kemajuan dan memungkinkan proses panggilan membatalkan pengujian bitmap. (Lihat ICMProgressProcCallback).

lpCallbackData

Data diteruskan kembali ke fungsi panggilan balik, misalnya, untuk mengidentifikasi pengujian bitmap tentang kemajuan mana yang sedang dilaporkan.

Nilai kembali

Jika fungsi ini berhasil, nilai yang dikembalikan adalah nilai bukan nol.

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

Keterangan

Jika format input tidak kompatibel dengan transformasi warna, fungsi CheckBitmapBits gagal.

Fungsi ini menempatkan hasil pengujian dalam buffer yang ditujukkan oleh paResult. Setiap byte dalam buffer sesuai dengan piksel dalam bitmap, dan memiliki nilai yang tidak ditandatangani antara 0 dan 255. Nilai 0 menunjukkan bahwa warna dalam gamut, sementara nilai bukan nol menunjukkan bahwa warna tersebut berada di luar gamut. Untuk setiap bilangan bulat n sehingga 0 <n< 255, nilai hasil n + 1 menunjukkan bahwa warna yang sesuai setidaknya sejauh keluar dari gamut seperti yang akan ditunjukkan oleh nilai hasil n.

Ketika salah satu dari titik mengambang BMFORMATs, BM_32b_scARGB atau BM_32b_scRGB digunakan, data warna yang diperiksa tidak boleh berisi NaN atau tak terbatas. NaN dan infinity tidak dianggap mewakili nilai komponen warna yang sah, dan hasil pemeriksaan piksel yang berisi NaN atau infinity tidak berarti dalam istilah warna. Nilai NaN atau tak terbatas dalam data warna yang sedang diproses akan ditangani secara diam-diam, dan kesalahan tidak akan dikembalikan.

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

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

Lihat juga