19,472
社区成员




void CGDIplusDemoView::OnMouseMove(UINT nFlags,CPoint pos) {
if (nFlags != MK_LBUTTON ) {return;}
Graphics graphics(this->m_hWnd);
//this->RedrawWindow();
SolidBrush solidBrush(Color(255,255,0,0));
PointF points[] = {
PointF(20,20),
PointF(160,100),
PointF(140,60),
PointF(60,100)
};
GraphicsPath path;
path.AddClosedCurve(points,4);
Matrix matrix;
matrix.Scale(2,1);
path.Transform(&matrix);
Region pathRegion(&path);
graphics.FillRegion(&solidBrush,&pathRegion);
Point testPoint(pos.x,pos.y);
if (pathRegion.IsVisible(testPoint,&graphics)) {return;}
SolidBrush brush(Color(255,0,0,0));
graphics.FillEllipse(&brush,testPoint.X - 4,testPoint.Y - 4,8,8);
}
// CGDIplusDemoView 绘制
void CGDIplusDemoView::OnDraw(CDC *pDC) {
}