Bitmap::Metode GetHistogram (gdiplusheaders.h)
Metode Bitmap::GetHistogram mengembalikan satu atau beberapa histogram untuk saluran warna tertentu dari objek Bitmap ini.
Sintaks
Status GetHistogram(
[in] HistogramFormat format,
[in] UINT NumberOfEntries,
[out] UINT *channel0,
[out] UINT *channel1,
[out] UINT *channel2,
[out] UINT *channel3
);
Parameter
[in] format
Jenis: HistogramFormat
Elemen enumerasi HistogramFormat yang menentukan saluran yang histogramnya akan dibuat.
[in] NumberOfEntries
Jenis: UINT
Bilangan bulat yang menentukan jumlah elemen (jenis UINT) di setiap array yang diarahkan oleh channel0, channel1, channel2, dan channel3. Anda harus mengalokasikan memori untuk array tersebut sebelum memanggil Bitmap::GetHistogram. Untuk menentukan jumlah elemen yang diperlukan, panggil Bitmap::GetHistogramSize.
[out] channel0
Jenis: UINT*
Penunjuk ke array UINTyang menerima histogram pertama.
[out] channel1
Jenis: UINT*
Pointer ke array UINTyang menerima histogram kedua jika ada histogram kedua. Lulus NULL jika tidak ada histogram kedua.
[out] channel2
Jenis: UINT*
Penunjuk ke array UINTyang menerima histogram ketiga jika ada histogram ketiga. Lulus NULL jika tidak ada histogram ketiga.
[out] channel3
Jenis: UINT*
Penunjuk ke array UINTyang menerima histogram keempat jika ada histogram keempat. Lulus NULL jika tidak ada histogram keempat.
Menampilkan nilai
Jenis: Status
Jika metode berhasil, metode mengembalikan Ok, yang merupakan elemen dari enumerasi Status .
Jika metode gagal, metode mengembalikan salah satu elemen lain dari enumerasi Status .
Keterangan
Jumlah histogram yang dikembalikan tergantung pada elemen enumerasi HistogramFormat yang diteruskan ke parameter format . Misalnya, jika format sama dengan HistogramFormatRGB, maka tiga histogram dikembalikan: masing-masing satu untuk saluran merah, hijau, dan biru. Dalam hal ini, channel0 menunjuk ke array yang menerima histogram saluran merah, channel1 menunjuk ke array yang menerima histogram saluran hijau, dan channel2 menunjuk ke array yang menerima histogram blue-channel. Untuk HistogramFormatRGB, channel3 harus diatur ke NULL karena tidak ada histogram keempat. Untuk detail selengkapnya, lihat enumerasi HistogramFormat .
Contoh
Contoh berikut membuat objek Bitmap dari file BMP. Kode ini mengambil tiga histogram dari bitmap: masing-masing satu untuk saluran merah, hijau, dan biru. Perhatikan urutan RGB atas nama elemen enumerasi HistogramFormatRGB. R adalah yang pertama, sehingga sesuai dengan ch0. Hijau adalah yang kedua, sehingga sesuai dengan ch1. Biru adalah yang ketiga, sehingga sesuai dengan ch2. Parameter akhir yang diteruskan ke Bitmap::GetHistogram adalah NULL karena tidak ada histogram keempat.
Bitmap myBitmap(L"Picture.bmp");
UINT numEntries;
myBitmap.GetHistogramSize(HistogramFormatRGB, &numEntries);
UINT* ch0 = new UINT[numEntries];
UINT* ch1 = new UINT[numEntries];
UINT* ch2 = new UINT[numEntries];
myBitmap.GetHistogram(HistogramFormatRGB, numEntries, ch0, ch1, ch2, NULL);
// Print the histogram values for the three channels: red, green, blue.
for(UINT j = 0; j < numEntries; ++j)
{
printf("%u\t%u\t%u\t%u\n", j, ch0[j], ch1[j], ch2[j]);
}
delete ch0;
delete ch1;
delete ch2;
Persyaratan
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | gdiplusheaders.h (termasuk Gdiplus.h) |
Pustaka | Gdiplus.lib |
DLL | Gdiplus.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk