VC++修改PIC控件颜色示例代码
示例代码:
// 创建PIC控件
CPictureCtrl picCtrl;
picCtrl.Create(ID_STATIC_PIC, _T(""), WS_CHILD | WS_VISIBLE, CRect(0, 0, 200, 200), this);
// 加载图片
picCtrl.LoadPicture(L"image.bmp");
// 获取图片的DC
CDC* pDC = picCtrl.GetDC();
// 设置新的调色板
CPalette* pPal = new CPalette;
pPal->CreatePalette(
PALETTEENTRY {
{ 0, 0, 0 }, // 黑色
{ 255, 255, 255 }, // 白色
{ 255, 0, 0 }, // 红色
{ 0, 255, 0 }, // 绿色
{ 0, 0, 255 } // 蓝色
},
5
);
pDC->SelectPalette(pPal, FALSE);
RealizePalette(pDC);
// 选择调色板中第一个颜色(黑色)
CBrush brush(pPal->GetNearestPaletteIndex(RGB(0, 0, 0)));
// 用黑色填充图片
pDC->FillRect(CRect(0, 0, 200, 200), &brush);
// 释放DC和调色板
picCtrl.ReleaseDC(pDC);
delete pPal;
27.33KB
文件大小:
评论区