Metode ImageAttributes::SetRemapTable (gdiplusimageattributes.h)

Metode ImageAttributes::SetRemapTable mengatur tabel remap warna untuk kategori tertentu.

Sintaks

Status SetRemapTable(
  [in]           UINT            mapSize,
  [in]           const ColorMap  *map,
  [in, optional] ColorAdjustType type
);

Parameter

[in] mapSize

Jenis: UINT

INT yang menentukan jumlah elemen dalam array peta .

[in] map

Jenis: const ColorMap*

Penunjuk ke array struktur ColorMap yang menentukan peta warna.

[in, optional] type

Jenis: ColorAdjustType

Elemen enumerasi ColorAdjustType yang menentukan kategori yang tabel remap 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

Tabel remap warna adalah array struktur ColorMap . Setiap struktur ColorMap memiliki dua objek Warna : satu yang menentukan warna lama dan yang menentukan warna baru yang sesuai. Selama penyajian, warna apa pun yang cocok dengan salah satu warna lama dalam tabel remap diubah ke warna baru yang sesuai.

Objek ImageAttributes mempertahankan pengaturan warna dan skala abu-abu untuk lima kategori penyesuaian: default, bitmap, kuas, pena, dan teks. Misalnya, Anda dapat menentukan remap warna untuk kategori default, tabel remap warna untuk kategori bitmap, dan masih tabel remap 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 tabel color-remap untuk kategori pena dengan meneruskan ColorAdjustTypePen ke metode ImageAttributes::SetRemapTable , maka tidak ada pengaturan penyesuaian default yang akan berlaku untuk pena.

Contoh

Contoh berikut membuat objek Gambar berdasarkan file .bmp lalu menggambar gambar. Kode membuat objek ImageAttributes dan mengatur tabel remap defaultnya sehingga merah dikonversi menjadi biru. Kemudian kode menggambar gambar lagi menggunakan penyesuaian warna yang ditentukan oleh tabel remap.


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

   // Create an Image object based on a .bmp file.
   // The image has one red stripe and one green stripe.
   Image image(L"RedGreenStripes.bmp");

   // Create an ImageAttributes object and set its remap table.
   ImageAttributes imageAtt;
   ColorMap cMap;
   cMap.oldColor = Color(255, 255, 0, 0);  // red 
   cMap.newColor = Color(255, 0, 0, 255);  // blue
   imageAtt.SetRemapTable(12, &cMap,
      ColorAdjustTypeDefault);

   // Draw the image with no color adjustment.
   graphics.DrawImage(&image, 10, 10, image.GetWidth(), image.GetHeight());
 
   // Draw the image with red converted to blue.
   graphics.DrawImage(&image,
      Rect(100, 10, image.GetWidth(), image.GetHeight()),  // dest rect
      0, 0, image.GetWidth(), image.GetHeight(),           // source rect
      UnitPixel,
      &imageAtt);
}
				

Ilustrasi berikut menunjukkan output kode sebelumnya.

Ilustrasi memperlihatkan persegi panjang dengan wilayah merah dan hijau, lalu persegi panjang yang sama dengan wilayah merah diganti dengan biru

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

Peta Warna

Gambar

ImageAttributes

ImageAttributes::ClearRemapTable

Metafile

Pewarnaan ulang