GDI(7)


シェーディングボックス(Shading Box)


----view.cpp
void CPenBrushDemoView::OnDraw(CDC* pDC)
{
	CPenBrushDemoDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	if (!pDoc)
		return;

	CBrush brush(RGB(150, 0, 255));
	CBrush* pOldBrush = pDC->SelectObject(&brush);

	pDC->Rectangle(100, 100, 200, 200);
	pDC->SelectObject(pOldBrush);
}

シェーディングバックグラウンド(Shading Background)


----view.cpp
void CPenBrushDemoView::OnDraw(CDC* pDC)
{
	CPenBrushDemoDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	if (!pDoc)
		return;

	CBrush brush(RGB(150, 0, 255));
	CBrush* pOldBrush = pDC->SelectObject(&brush);

	CRect rect;
	// 현재 클라이언트 영역을 얻음
	GetClientRect(rect);
	pDC->Rectangle(rect);

	pDC->SelectObject(pOldBrush);
}

既存の画像の使用






----view.cpp
void CPenBrushDemoView::OnDraw(CDC* pDC)
{
	CPenBrushDemoDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	if (!pDoc)
		return;

	CBitmap Bmp;
	Bmp.LoadBitmap(IDB_BITMAP1);
	CBrush brush;

	brush.CreatePatternBrush(&Bmp);

	CBrush* pOldBrush = pDC->SelectObject(&brush);

	CRect rect;
	// 현재 클라이언트 영역을 얻음
	GetClientRect(rect);
	pDC->Rectangle(rect);

	pDC->SelectObject(pOldBrush);
}

Bitmapイメージの生成


256色ビットマップ



24ビットビットマップ


24bit = 4byte
カラー画像