void CXOgameDlg::OnPaint()
{
CPaintDC* pDC = new CPaintDC(this);
CBrush brush(Field_Colour);
pDC->SelectObject(&brush);
pDC->Rectangle(0,60,400,460);
CDC cd; //Контекст для изображения в памяти
CBitmap bit; //Объект для управления битовым изображением
bit.LoadBitmap(IDB_BITMAP); //Загрузим картинку из ресурсов
cd.CreateCompatibleDC(pDC); //Создать контекст устройства в памяти
cd.SelectObject(&bit); //Выбрать картинку в контексте устройства
for (int i = 0; i < 25; i++)
for (int j = 0; j < 25; j++)
{
if (Field [i+1][j+1] > 2)
{
CBrush brush(RGB(130,130,130));
pDC->SelectObject(&brush);
pDC->Rectangle(16*i,60+16*j,16+16*i,76+16*j);
}
pDC->BitBlt(16*i,60+16*j,16,16,&cd,0,0,SRCAND); //Выводим Bitmap
}
for (int i = 0; i < 25; i++)
for (int j = 0; j < 25; j++)
if(Field[i+1][j+1] == 1 || Field[i+1][j+1] == 3)
pDC->BitBlt(16*i,60+16*j,16,16,&cd,16,0,SRCAND);//Вывод крестика
else if(Field[i+1][j+1] == 2 || Field[i+1][j+1] == 4)
pDC->BitBlt(16*i,60+16*j,16,16,&cd,32,0,SRCAND);//Вывод нолика
}
Изменение цвета BMP картинок при выводе!!!
Пишу игру Крестики-Нолики под Visual Studio 2005, приложение Dialog Based. Я использую ниже представленный BMP для вывода крестиков и ноликов (вывожу функцией BitBlt). Задача состоит в том, что нужно изменить цвет крестика и нолика при выводе. Вот код функции OnPaint