MFC相談室 mfc22d.dll
■ このスレッドは過去ログ倉庫に格納されています
0439デフォルトの名無しさん
2014/05/20(火) 15:49:35.48ID:egqFhnISダイアログ上に貼り付けたピクチャーコントロールに、リソースからビットマップを選択して表示、
と言うのをやっています。
これに追加して、ビットマップの内側にあるあらかじめ色bで塗りつぶされている領域を、
あとから指定する任意の色(c)で塗りつぶす、と言うのを行いたいと考えています。
CDC cDC;
CBitmap *pOldBitmap;
BITMAP bmp;
CPaintDC paintDC((CWnd *)&m_Static);
cDC.CreateCompatibleDC(&cpdc);
pOldBitmap = cDC.SelectObject(&m_Bitmap);
m_Bitmap.GetBitmap(&bmp);
paintDC.FillSolidRect(0, 0, bmp.bmWidth, bmp.bmHeight, color_back);
paintDC.TransparentBlt(0, 0, bmp.bmWidth, bmp.bmHeight,
&cDC, 0, 0, bmp.bmWidth, bmp.bmHeight, color_Transparent);
paintDC.FloodFill (15, 30, color_c); // <-ここで塗りつぶしを意図
cDC.SelectObject(pOldBitmap);
OnPaint()中でこんな感じにすれば出来るか、と考えていたのですが、うまくいきませんでした。
正しい(出来れば簡便な)手順はどのようになりますでしょうか?
■ このスレッドは過去ログ倉庫に格納されています