ImageAttributes::Metode SetThreshold (gdiplusimageattributes.h)
Metode ImageAttributes::SetThreshold menetapkan ambang batas (rentang transparansi) untuk kategori tertentu.
Sintaks
Status SetThreshold(
[in] REAL threshold,
[in, optional] ColorAdjustType type
);
Parameter
[in] threshold
Jenis: NYATA
Angka RIIL yang menentukan nilai ambang batas.
[in, optional] type
Jenis: ColorAdjustType
Elemen enumerasi ColorAdjustType yang menentukan kategori yang ambang warnanya diatur. Nilai defaultnya adalah ColorAdjustTypeDefault.
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
Ambang adalah nilai dari 0 hingga 1 yang menentukan titik cutoff untuk setiap komponen warna. Misalnya, ambang diatur ke 0,7, dan misalkan Anda merender warna yang komponen merah, hijau, dan birunya adalah 230, 50, dan 220. Komponen merah, 230, lebih besar dari 0,7×255, sehingga komponen merah akan diubah menjadi 255 (intensitas penuh). Komponen hijau, 50, kurang dari 0,7×255, sehingga komponen hijau akan diubah menjadi 0. Komponen biru, 220, lebih besar dari 0,7×255, sehingga komponen biru akan diubah menjadi 255.
Objek ImageAttributes mempertahankan pengaturan warna dan skala abu-abu untuk lima kategori penyesuaian: default, bitmap, kuas, pena, dan teks. Misalnya, Anda dapat menentukan ambang batas untuk kategori default, ambang batas untuk kategori bitmap, dan masih ambang batas yang berbeda untuk kategori pena.
Pengaturan penyesuaian warna dan abu-abu default berlaku untuk semua kategori yang tidak memiliki pengaturan penyesuaian sendiri. Misalnya, jika Anda tidak pernah menentukan pengaturan penyesuaian apa pun untuk kategori pena, maka pengaturan default berlaku untuk kategori pena.
Segera setelah Anda menentukan pengaturan penyesuaian warna atau skala abu-abu untuk kategori tertentu, pengaturan penyesuaian default tidak lagi berlaku untuk kategori tersebut. Misalnya, Anda menentukan kumpulan pengaturan penyesuaian untuk kategori default. Jika Anda mengatur ambang batas untuk kategori pena dengan meneruskan ColorAdjustTypePen ke metode ImageAttributes::SetThreshold , maka tidak ada pengaturan penyesuaian default yang akan berlaku untuk pena.
Contoh
Contoh berikut membuat objek Gambar berdasarkan file .bmp. Kode ini juga membuat objek ImageAttributes dan menetapkan nilai ambang bitmap-nya menjadi 0,6. Kemudian kode menggambar gambar dua kali: sekali tanpa penyesuaian warna dan sekali dengan penyesuaian yang ditentukan oleh ambang.
VOID Example_SetThreshold(HDC hdc)
{
Graphics graphics(hdc);
// Create an Image object based on a .bmp file.
// The image has one stripe with RGB components (160, 0, 0)
// and one stripe with RGB components (0, 140, 0).
Image image(L"RedGreenThreshold.bmp");
// Create an ImageAttributes object, and set its bitmap threshold to 0.6.
ImageAttributes imAtt;
imAtt.SetThreshold(0.6f, ColorAdjustTypeBitmap);
// Draw the image with no color adjustment.
graphics.DrawImage(&image, 10, 10, image.GetWidth(), image.GetHeight());
// Draw the image with the threshold applied.
// 160 > 0.6*255, so the red stripe will be changed to full intensity.
// 140 < 0.6*255, so the green stripe will be changed to zero intensity.
graphics.DrawImage(&image,
Rect(100, 10, image.GetWidth(), image.GetHeight()), // dest rect
0, 0, image.GetWidth(), image.GetHeight(), // source rect
UnitPixel,
&imAtt);
}
Ilustrasi berikut menunjukkan output kode sebelumnya. Perhatikan bahwa merah dikonversi ke intensitas maksimum, dan hijau dikonversi menjadi intensitas nol.
Persyaratan
Klien minimum yang didukung | Windows XP, Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | gdiplusimageattributes.h (termasuk Gdiplus.h) |
Pustaka | Gdiplus.lib |
DLL | Gdiplus.dll |
Lihat juga
ImageAttributes::ClearColorKey
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