ImageAttributes::Metode ClearNoOp (gdiplusimageattributes.h)

Metode ImageAttributes::ClearNoOp menghapus pengaturan NoOp untuk kategori tertentu.

Sintaks

Status ClearNoOp(
  [in, optional] ColorAdjustType type
);

Parameter

[in, optional] type

Jenis: ColorAdjustType

Elemen enumerasi ColorAdjustType yang menentukan kategori di mana pengaturan NoOp dibersihkan. 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

Anda dapat menonaktifkan penyesuaian warna untuk jenis objek tertentu dengan memanggil metode ImageAttributes::SetNoOp . Nantinya, Anda dapat memulihkan penyesuaian warna untuk jenis objek tersebut dengan memanggil metode ImageAttributes::ClearNoOp . Misalnya, pernyataan berikut menonaktifkan penyesuaian warna untuk kuas:

myImageAttributes.SetNoOp(ColorAdjustTypeBrush);

Pernyataan berikut ini menginstal ulang penyesuaian warna kuas yang ada sebelum panggilan ke ImageAttributes::SetNoOp:

myImageAttributes.ClearNoOp(ColorAdjustTypeBrush);

Contoh

Contoh berikut membuat objek Gambar dari file .emf. Kode ini juga membuat objek ImageAttributes . Panggilan ImageAttributes::SetColorMatrix mengatur matriks penyesuaian warna kuas dari objek ImageAttributes tersebut ke matriks yang mengonversi merah menjadi hijau.

Kode memanggil DrawImage tiga kali, setiap kali melewati alamat objek Gambar dan alamat objek ImageAttributes . Ketika gambar digambar pertama kali, semua warna merah yang dicat oleh kuas dikonversi menjadi hijau. (Merah yang digambar oleh pena tidak diubah.) Sebelum gambar digambar untuk kedua kalinya, kode memanggil metode ImageAttributes::SetNoOp dari objek ImageAttributes . Jadi ketika gambar digambar untuk kedua kalinya, tidak ada penyesuaian warna yang diterapkan pada kuas. Sebelum gambar digambar untuk ketiga kalinya, kode memanggil metode ImageAttributes::ClearNoOp , yang menginstal ulang pengaturan penyesuaian warna kuas. Jadi ketika gambar digambar untuk ketiga kalinya, semua warna merah yang dicat oleh kuas dikonversi menjadi hijau.


VOID Example_SetClearNoOp(HDC hdc)
{
   Graphics graphics(hdc);

   Image image(L"TestMetafile4.emf");
   ImageAttributes imAtt;

    ColorMatrix brushMatrix = {     // red converted to green
      0.0f, 1.0f, 0.0f, 0.0f, 0.0f,
      0.0f, 1.0f, 0.0f, 0.0f, 0.0f,
      0.0f, 0.0f, 1.0f, 0.0f, 0.0f,
      0.0f, 0.0f, 0.0f, 1.0f, 0.0f,
      0.0f, 0.0f, 0.0f, 0.0f, 1.0f};

   imAtt.SetColorMatrix(
      &brushMatrix, 
      ColorMatrixFlagsDefault, 
      ColorAdjustTypeBrush);

   // Draw the image (metafile) using brush color adjustment.
   // Items filled with a brush change from red to green.
   graphics.DrawImage(
      &image,
      Rect(0, 0, image.GetWidth(), image.GetHeight()),  // dest rect
      0, 0, image.GetWidth(), image.GetHeight(),        // source rect
      UnitPixel,
      &imAtt);

   // Temporarily disable brush color adjustment.
   imAtt.SetNoOp(ColorAdjustTypeBrush);

   // Draw the image (metafile) without brush color adjustment.
   // There is no change from red to green.
   graphics.DrawImage(
      &image,
      Rect(0, 80, image.GetWidth(), image.GetHeight()),  // dest rect
      0, 0, image.GetWidth(), image.GetHeight(),          // source rect
      UnitPixel,
      &imAtt);

   // Reinstate brush color adjustment.
   imAtt.ClearNoOp(ColorAdjustTypeBrush);

   // Draw the image (metafile) using brush color adjustment.
   // Items filled with a brush change from red to green.
   graphics.DrawImage(
      &image,
      Rect(0, 160, 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

ColorAdjustType

Gambar

ImageAttributes

ImageAttributes::Reset

ImageAttributes::SetNoOp

ImageAttributes::SetToIdentity

Metafile

Mewarnai ulang