Metode ImageAttributes::SetColorKey (gdiplusimageattributes.h)
Metode ImageAttributes::SetColorKey mengatur kunci warna (rentang transparansi) untuk kategori tertentu.
Sintaks
Status SetColorKey(
[in, ref] const Color & colorLow,
[in, ref] const Color & colorHigh,
[in, optional] ColorAdjustType type
);
Parameter
[in, ref] colorLow
Jenis: Const Color
Referensi ke objek Warna yang menentukan nilai kunci warna rendah.
[in, ref] colorHigh
Jenis: Const Color
Referensi ke objek Warna yang menentukan nilai kunci warna tinggi.
[in, optional] type
Jenis: ColorAdjustType
Elemen enumerasi ColorAdjustType yang menentukan kategori yang kunci warnanya diatur. Nilai defaultnya adalah ColorAdjustTypeDefault.
Nilai kembali
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
Metode ini mengatur nilai kunci warna tinggi dan rendah sehingga berbagai warna dapat dibuat transparan. Warna apa pun yang memiliki masing-masing dari tiga komponennya (merah, hijau, biru) antara komponen yang sesuai dari kunci warna tinggi dan rendah dibuat transparan.
Objek ImageAttributes mempertahankan pengaturan warna dan skala abu-abu untuk lima kategori penyesuaian: default, bitmap, kuas, pena, dan teks. Misalnya, Anda dapat menentukan kunci warna untuk kategori default, kunci warna yang berbeda untuk kategori bitmap, dan masih kunci warna 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 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 kunci warna untuk kategori pena dengan meneruskan ColorAdjustTypePen ke metode ImageAttributes::SetColorKey , maka tidak ada pengaturan penyesuaian default yang akan berlaku untuk pena.
Contoh
Contoh berikut membuat objek Gambar dari file .bmp. Kode ini juga membuat objek ImageAttributes . Panggilan ke ImageAttributes::SetColorKey mengatur kunci warna bitmap objek ImageAttributes sehingga warna apa pun yang memenuhi ketiga kondisi berikut dibuat transparan:
- Komponen merah berada dalam kisaran 100 hingga 250.
- Komponen hijau berada dalam kisaran 95 hingga 245.
- Komponen biru berada dalam kisaran 30 hingga 60.
VOID Example_SetColorKey(HDC hdc)
{
Graphics graphics(hdc);
// Create an Image object based on a BMP file.
// The image has three horizontal stripes.
// The color of the top stripe has RGB components (90, 90, 20).
// The color of the middle stripe has RGB components (150, 150, 150).
// The color of the bottom stripe has RGB components (130, 130, 40).
Image image(L"ColorKeyTest.bmp");
// Create an ImageAttributes object, and set its color key.
ImageAttributes imAtt;
imAtt.SetColorKey(
Color(100, 95, 30),
Color(250, 245, 60),
ColorAdjustTypeBitmap);
// Draw the image. Apply the color key.
// The bottom stripe of the image will be transparent because
// 100 <= 130 <= 250 and
// 95 <= 130 <= 245 and
// 30 <= 40 <= 60.
graphics.DrawImage(
&image,
Rect(20, 20, image.GetWidth(), image.GetHeight()), // dest rect
0, 0, image.GetWidth(), image.GetHeight(), // source rect
UnitPixel,
&imAtt);
}
Persyaratan
Persyaratan | Nilai |
---|---|
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