用GDI+画长方体

原创 2015年08月24日 10:34:52
// "cuboid.png"
void DrawCuboid(CDC *pDC)
{
Graphics graphics(pDC->m_hDC);
Point point1(50, 50); //    2       3
Point point2(100, 20);// 1      7
Point point3(200, 20);//
Point point4(50, 250);//
Point point5(150, 250);//           6
Point point6(200, 220);//4      5
Point point7(150,50);  //
// front :1,7,5,4
    Point frontPoints[4]={ point1 , point7 , point5, point4};
    RectF frontRect((float)point1.X,(float)point1.Y,
 (float)(point7.X-point1.X),
 (float)(point5.Y-point7.Y));
LinearGradientBrush frontB(frontRect,Color::Blue,Color::Aqua,LinearGradientModeHorizontal);// = 90.0f);//
graphics.FillPolygon(&frontB,frontPoints,4);
// right :7,3,6,5
    RectF rightRect((float)point7.X,(float)point7.Y,
 (float)(point3.X-point7.X),
 (float)(point5.Y-point3.Y));
    Point rightPoints[4]={ point7 , point3 , point6, point5};
LinearGradientBrush b(rightRect,Color::Aqua,Color::Blue,LinearGradientModeHorizontal);// = 90.0f);//
graphics.FillPolygon(&b,rightPoints,4);
// top :1,2,3,7
INT count = 4;
GraphicsPath rectPath;
    Point topPoints[4]={ point1 , point2 , point3, point7};
rectPath.AddPolygon(topPoints, count);
//
PathGradientBrush pathBrush(&rectPath);
//
Color cols[] = {Color::Blue, Color::Blue, Color::Blue, Color::Blue};
pathBrush.SetSurroundColors(cols, &count);
pathBrush.SetCenterColor(Color::Aqua);
pathBrush.SetCenterPoint(point7);
graphics.FillPolygon(&pathBrush, topPoints, count);
// draw  contour
Pen bluePen( Color(255,0,0,255),1);
Point points[6] = { point1 , point2 , point3, point6, point5, point4 };
graphics.DrawPolygon(&bluePen,points,6);
// draw 3 lines
graphics.DrawLine(&bluePen,point1,point7 );
graphics.DrawLine(&bluePen,point7,point3);
graphics.DrawLine(&bluePen,point5,point7);

}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

c#,gdi+,画函数图形,坐标系,如f(x)=sin(x)

// Expression.cs - 动态生成数学表达式并计算其值 // 表达式使用 C# 语法,可带一个的自变量(x)。 // 表达式的自变量和值均为(double)类型。 // 使用举...

[C#]GDI+在鼠标移动(MouseMove)时画平滑曲线

关于平滑曲线,相信很多人在网上提过这个问题,如何画出平滑曲线?我也很想知道答案,究竟如何才能在MouseMove事件里画出真正平滑又柔和的曲线?注意本文讨论的重点是在MouseMove事件里,并非相对...
  • luols
  • luols
  • 2012-09-29 16:46
  • 7452

使用GDI+画仪表表盘

[cpp] view plaincopyGdiplus::Bitmap * CSlaveView::GetPumpImage( float fMin,float fMax,float fValue,C...

c# 使用GDI+画曲线图

效果如图所示:   以下是代码: [c-sharp:nogutter:collapse] + expand sourceview plaincopyprint? p...

使用GDI+画曲线

使用GDI+画曲线      来源:http://www.cnblogs.com/kiny/articles/2506700.html 1.画贝塞尔曲线 DrawBezier(Pen p...

GDI+ 画 图 (winform)

  • 2011-08-29 14:50
  • 600KB
  • 下载

二:在VC6.0中用GDI+调用png图片实现半透明渐变的特效窗口

在VC6.0中用GDI+调用png图片实现半透明渐变的特效窗口作者:邵凯锋下载源代码一、概述  GDI+的应用使得平面图形图象编程变的更加容易,本文以一个基于对话框的时钟程序为例,在VC6.0中调用*...

winform GDI+ 画曲线

  • 2015-12-11 10:36
  • 46KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)