ImageAttributes::GetAdjustedPalette method (gdiplusimageattributes.h)
Metode ImageAttributes::GetAdjustedPalette menyesuaikan warna dalam palet sesuai dengan pengaturan penyesuaian kategori tertentu.
Sintaks
Status GetAdjustedPalette(
[in, out] ColorPalette *colorPalette,
[in] ColorAdjustType colorAdjustType
);
Parameter
[in, out] colorPalette
Jenis: ColorPalette*
Penunjuk ke struktur ColorPalette yang pada input, berisi palet yang akan disesuaikan dan, pada output, menerima palet yang disesuaikan.
[in] colorAdjustType
Jenis: ColorPalette
Elemen enumerasi ColorAdjustType yang menentukan kategori yang pengaturan penyesuaiannya akan diterapkan ke palet.
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
Objek ImageAttributes mempertahankan pengaturan warna dan skala abu-abu untuk lima kategori penyesuaian: default, bitmap, kuas, pena, dan teks. Misalnya, Anda dapat menentukan tabel remap warna untuk kategori default, tabel remap warna yang berbeda untuk kategori bitmap, dan masih tabel remap warna yang berbeda untuk kategori pena.
Saat Anda memanggil ImageAttributes::GetAdjustedPalette, Anda dapat menentukan kategori penyesuaian yang digunakan untuk menyesuaikan warna palet. Misalnya, jika Anda meneruskan ColorAdjustTypeBitmap ke metode ImageAttributes::GetAdjustedPalette , maka pengaturan penyesuaian kategori bitmap digunakan untuk menyesuaikan warna palet.
Contoh
Contoh berikut menginisialisasi struktur ColorPalette dengan empat warna: aqua, hitam, merah, dan hijau. Kode ini juga membuat objek ImageAttributes dan mengatur tabel remap bitmap-nya sehingga hijau akan dikonversi menjadi biru. Kemudian kode menyesuaikan warna palet dengan meneruskan alamat palet ke metode ImageAttributes::GetAdjustedPalette dari objek ImageAttributes . Kode menampilkan empat warna palet dua kali: sekali sebelum penyesuaian dan sekali setelah penyesuaian.
VOID Example_GetAdjustedPalette(HDC hdc)
{
Graphics graphics(hdc);
INT j;
// Create a palette that has four entries.
ColorPalette* palette =
(ColorPalette*)malloc(sizeof(ColorPalette) + 3 * sizeof(ARGB));
palette->Flags = 0;
palette->Count = 4;
palette->Entries[0] = 0xFF00FFFF; // aqua
palette->Entries[1] = 0xFF000000; // black
palette->Entries[2] = 0xFFFF0000; // red
palette->Entries[3] = 0xFF00FF00; // green
// Display the four palette colors with no adjustment.
SolidBrush brush(Color());
for(j = 0; j < 4; ++j)
{
brush.SetColor(palette->Entries[j]);
graphics.FillRectangle(&brush, 30*j, 0, 20, 20);
}
// Create a remap table that converts green to blue.
ColorMap map;
map.oldColor = Color(255, 0, 255, 0); // green
map.newColor = Color(255, 0, 0, 255); // blue
// Create an ImageAttributes object, and set its bitmap remap table.
ImageAttributes imAtt;
imAtt.SetRemapTable(1, &map, ColorAdjustTypeBitmap);
// Adjust the palette.
imAtt.GetAdjustedPalette(palette, ColorAdjustTypeBitmap);
// Display the four palette colors after the adjustment.
for(j = 0; j < 4; ++j)
{
brush.SetColor(palette->Entries[j]);
graphics.FillRectangle(&brush, 30*j, 30, 20, 20);
}
}
Ilustrasi berikut menunjukkan output kode sebelumnya. Perhatikan bahwa hijau di palet asli diubah menjadi 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
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