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

Bitmap

Warna

ColorAdjustType

Gambar

ImageAttributes

ImageAttributes::ClearColorKey

ImageAttributes::ClearThreshold

ImageAttributes::SetThreshold

Metafile

Pewarnaan ulang