用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#WindowsForm,包含一个类,一个方法,三个属性

据说这是一题考官出给面试的人做的题,有四十多号高手都做不全面的题,很多人都质疑这些所谓的高手,我在自己做了以后才明白这题真的是很经典,可惜我只是一只刚刚步入实习期的菜鸟,讲不出什么。在这里也只是写写自...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

C# OpenGL(SharpGL)Begin函数End函数使用

Begin函数: 函数功能: 绘制图形起始函数,参数表示图元的类型。 函数原型: void Begin(mode M);  (mode为unit类型,其值为在OpenGL类下定义的常数值)。...

用GDI绘制旋转的长方体

原文地址::http://simplesource.blog.163.com/blog/static/10341406200911269325863/      如果要绘制一个具有3D透视效果的...

【Inno Setup】判别系统版本

[Code] function IsXP32(): Boolean; var Version:TWindowsVersion; S:String; begin GetWindowsVersion...

15种提高系统伸缩性和性能的最佳实践

1, 提高系统性能, 需要尽早做性能剖析, 而且要经常做.当项目进行到后期, 你再考虑剖析性能时, 复杂的系统结构会让你望而却步. 2, 开发者和SA的合作是有必要的, SA可以反馈线上的运行状况给...

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

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

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

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

c# 使用GDI+画曲线图

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

使用GDI+画仪表表盘

[cpp] view plaincopyGdiplus::Bitmap * CSlaveView::GetPumpImage( float fMin,float fMax,float fValue,C...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:用GDI+画长方体
举报原因:
原因补充:

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