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.

Ilustrasi memperlihatkan persegi panjang dengan wilayah merah marun dan hijau, lalu persegi panjang yang sama tetapi dirender dengan warna merah dan hitam

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

Bitmap

Warna

ColorAdjustType

Gambar

ImageAttributes

ImageAttributes::ClearColorKey

ImageAttributes::ClearThreshold

ImageAttributes::SetColorKey

Metafile

Mewarnai ulang