更新时间:2015-11-29 15:48:10浏览次数:1+次
GDI+程序的步骤,我就不说了,我们在《“手电筒“式的球体》里的菜单项”路径画刷中心“下在新建一个子菜单项”多色渐变“。
并建立消息响应:
void CPathBrushCenterView::OnBrushpathinterpolationcolors()
{
// TODO: 在此添加命令处理程序代码
this->RedrawWindow();
Graphics graphics(this->m_hWnd);
SolidBrush brush(Color::White);
//////设置三角形的3个点
Point points[] = {
Point(100, 0),
Point(200, 200),
Point(0, 200)
};
//////创建一个三角形渐变画刷
PathGradientBrush pthGrBrush(points, 3);
Color col[] = {
Color(255, 255, 0, 0),
Color(255, 0, 255, 0),
Color(255, 0, 0, 255)
};
//////设置合成点的位置
REAL pos[] =
{
0.0f, /////在区域边界处使用红色
0.4f, //////在距离中心点40%的位置处使用绿色
1.0f ///////在中心点使用蓝色
};
//////设置渐变的过渡色
pthGrBrush.SetInterpolationColors(col, pos, 3);
////填充区域
graphics.FillRectangle(&pthGrBrush, 0, 0, 300, 300);
/////标记中心点
Point centerpoint;
pthGrBrush.GetCenterPoint(¢erpoint);
////////在中心点画一个圆
graphics.FillEllipse(&brush, centerpoint.X - 5, centerpoint.Y - 5, 10, 10);
}
代码实现图:
这不像金字塔的俯视图吗?请你看看《线性渐变画刷的学习之多色渐变色彩的设置》相比较两种渐变画刷的多色渐变。
相关资讯