CBitmap cbmp;
cbmp.LoadBitmap(IDB_BITMAP2);
m_stat.SetBitmap(cbmp);
Прозрачный цвет у Picture Control
Программно изменить изображение в Picture Control можно только так?
Код:
Или есть другой способ?
Товарищи, неужели никто не знает, как сделать определённый цвет в битмапе, помещённом в Picture Control, прозрачным.:confused:
в Bitmape.
1. добавляешь в ресурсы Bitmap - > Import - > выбираешь.
2.В ф-ии OnPaint там где else дописываешь
Код:
...else
{
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
CDC *pDC = GetDC();
CDC MemDC;
MemDC.CreateCompatibleDC(pDC);
CBitmap* pOldBitmap = MemDC.SelectObject(&bitmap);
BITMAP bm;
bitmap.GetObject(sizeof(BITMAP),&bm);
pDC->TransparentBlt(250,80,bm.bmWidth,bm.bmHeight,&MemDC,0,0,bm.bmWidth,bm.bmHeight,RGB(255,246,127));
}
...
{
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
CDC *pDC = GetDC();
CDC MemDC;
MemDC.CreateCompatibleDC(pDC);
CBitmap* pOldBitmap = MemDC.SelectObject(&bitmap);
BITMAP bm;
bitmap.GetObject(sizeof(BITMAP),&bm);
pDC->TransparentBlt(250,80,bm.bmWidth,bm.bmHeight,&MemDC,0,0,bm.bmWidth,bm.bmHeight,RGB(255,246,127));
}
...
Смотри функцию TransparentBlt в MSDN.В этом примере я сделал для своего битмапа,прозрачным делается цвет RGB(255,246,127) - это цвет
фона моего битмапа.Для того чтоб его определить я использовал фотошоп(пипетку).
Мне этот вариант идеально подошёл!:)