当前位置: 首页 > news >正文

江门专业制作网站制作响应式网站

江门专业制作网站,制作响应式网站,在线设计的软件,深圳谷歌seo推广MFC 绘制三角形 本文使用visual Studio MFC 平台实现绘制单一颜色三角形、渐变颜色边框三角形、渐变填充三角形、边框渐变的正方形与填充渐变的正方形. 关于基础工程的创建请参考Visual Studio 使用MFC 单文档工程绘制单一颜色直线和绘制渐变颜色的直线 文章目录 MFC 绘制三角形…MFC 绘制三角形 本文使用visual Studio MFC 平台实现绘制单一颜色三角形、渐变颜色边框三角形、渐变填充三角形、边框渐变的正方形与填充渐变的正方形. 关于基础工程的创建请参考Visual Studio 使用MFC 单文档工程绘制单一颜色直线和绘制渐变颜色的直线 文章目录 MFC 绘制三角形一、 绘制单一颜色三角形二、 绘制边框颜色渐变的三角形三、 绘制填充渐变色三角形四、绘制渐变色边框正方形五、绘制渐变色填充正方形 一、 绘制单一颜色三角形 通过dc.Polygon(pt, 3)绘制多边形. 在MFCMicrosoft Foundation Classes中dc.Polygon 函数用于在设备上下文Device Context中绘制多边形。这个函数的原型如下 BOOL Polygon(const POINT* lpPoints,int nCount );参数解释 lpPoints: 一个 POINT 结构体数组表示多边形的顶点。每个 POINT 结构体包含 x 和 y 坐标定义了多边形的一个顶点。nCount: 顶点的数量。 返回值 如果函数成功则返回非零值如果函数失败则返回零。 这个函数用给定的顶点数组在设备上下文中绘制一个多边形。代码片段中pt[3] 是一个包含三个 CPoint 结构体的数组表示一个三角形的三个顶点。然后dc.Polygon(pt, 3) 调用绘制三角形。 CClientDC dc(this); CPen pen(PS_SOLID, 4, RGB(255,182,193));//RGB(138, 100, 226) 表示紫罗兰色 CPen* oldPen dc.SelectObject(pen);//选择当前设备上下文的画笔为 pen并将之前的画笔保存在 oldPen 中。这是为了在绘制完成后恢复原来的画笔 CPoint pt[3] { CPoint(400,70),CPoint(800,70), CPoint(340,400) };//表示一个三角形的三个顶点坐标 dc.Polygon(pt, 3);// 使用 dc 绘制一个多边形多边形的顶点由 pt 数组指CPen pen(PS_SOLID, 4, RGB(255, 182, 193)) CPen是MFC中表示画笔的类。PS_SOLID表示画笔风格为实线4表示线宽RGB(255, 182, 193)表示颜色为紫罗兰色。 实现效果如下 二、 绘制边框颜色渐变的三角形 使用 DrawLines 函数绘制了连接三个顶点的线条从而形成了一个空心的三角形。画笔 Pen 使用渐变画刷作为颜色实现了渐变色的效果. GdiplusStartupInput gdiplusStartupInput; ULONG_PTR gdiplusToken;//标识符号 GdiplusStartup(gdiplusToken, gdiplusStartupInput, NULL); {// 创建 GDI 绘图对象Graphics graphics(GetSafeHwnd());// 定义三个渐变色Color color1(255, 255, 0); // 黄色Color color2(0, 255, 255); // 青色Color color3(255, 0, 255); // 粉色// 创建渐变画笔LinearGradientBrush brush(Point(0, 0), Point(800, 400), color1, color2);REAL positions[] { 0.0f, 1.0f };Color colors[] { color1, color2 };brush.SetInterpolationColors(colors, positions, 2);// 创建画笔Pen pen(brush, 3);// 定义三角形的三个顶点PointF points[4] { PointF(400.0f, 100.0f), PointF(800.0f, 100.0f), PointF(400.0f, 400.0f), PointF(400.0f, 100.0f) };// 使用画笔绘制空心的渐变色边的三角形graphics.DrawLines(pen, points, 4);} // 关闭 GDI GdiplusShutdown(gdiplusToken);补充说明 LinearGradientBrush表示线性渐变画笔的类。brush创建的渐变画笔对象。 参数说明 Point(0, 0)渐变的起始点这里是窗口坐标 (0, 0)。Point(800, 400)渐变的终止点这里是窗口坐标 (800, 400)。color1起始颜色。color2终止颜色。 这段代码的作用是创建一个从起始点 (0, 0) 到终止点 (800, 400) 的线性渐变颜色从 color1起始颜色变化到 color2终止颜色。这样的渐变将用于后续的绘图操作例如在绘图对象上绘制形状时形状的颜色将沿着这个线性渐变进行变化。 实现效果 三、 绘制填充渐变色三角形 使用 FillPolygon 函数绘制了一个填充的渐变色三角形。画刷 brush 使用LinearGradientBrush 实现了渐变色的效果然后通过 FillPolygon 函数填充三角形 // 创建 GDI 绘图对象 Graphics graphics(GetSafeHwnd());// 定义三个渐变色 Color color1(255, 255, 0); // 黄色 Color color2(0, 255, 255); // 青色 Color color3(255, 0, 255); // 粉色// 创建渐变画刷 LinearGradientBrush brush(Point(0, 0), Point(1000, 1000), color1, color2);REAL positions[] {0.0f, 1.0f}; Color colors[] {color1, color2}; brush.SetInterpolationColors(colors, positions, 2);// 定义三角形的三个顶点 PointF points[3] {PointF(400.0f, 100.0f), PointF(800.0f, 100.0f), PointF(400.0f, 400.0f)};// 使用渐变画刷填充三角形 graphics.FillPolygon(brush, points, 3); 实现效果如下 四、绘制渐变色边框正方形 如果你想绘制边框为渐变色的正方形可以使用 DrawPolygon 函数并指定 Pen 对象为渐变画笔。 // 创建 GDI 绘图对象 Graphics graphics(GetSafeHwnd());// 定义两个渐变色 Color color1(255, 0, 0); // 红色 Color color2(0, 0, 255); // 蓝色// 创建渐变画刷 LinearGradientBrush brush(Point(0, 0), Point(100, 100), color1, color2);REAL positions[] {0.0f, 1.0f}; Color colors[] {color1, color2}; brush.SetInterpolationColors(colors, positions, 2);// 定义正方形的四个顶点 PointF points[4] {PointF(100.0f, 100.0f), PointF(200.0f, 100.0f), PointF(200.0f, 200.0f), PointF(100.0f, 200.0f)};// 创建渐变画笔 Pen gradientPen(brush, 5.0f); // 5.0f 是画笔的宽度// 使用渐变画笔绘制正方形的边框 graphics.DrawPolygon(gradientPen, points, 4);在这个例子中我们使用 DrawPolygon 函数绘制了正方形的边框并且使用 Pen 对象 gradientPen 设置了渐变画笔。 Pen 的构造函数接受一个 Brush 对象这里我们使用 LinearGradientBrush 作为画笔的颜色。 实现效果图. 五、绘制渐变色填充正方形 要绘制一个填充的正方形你可以使用 FillRectangle 函数。以下是一个示例代码片段 // 创建 GDI 绘图对象 Graphics graphics(GetSafeHwnd());// 定义两个渐变色 Color color1(255, 0, 0); // 红色 Color color2(0, 0, 255); // 蓝色// 创建渐变画刷 LinearGradientBrush brush(Point(0, 0), Point(100, 100), color1, color2);REAL positions[] {0.0f, 1.0f}; Color colors[] {color1, color2}; brush.SetInterpolationColors(colors, positions, 2);// 定义正方形的位置和大小 RectF rectangle(100.0f, 100.0f, 100.0f, 100.0f);// 使用渐变画刷填充正方形 graphics.FillRectangle(brush, rectangle);在这个例子中我们使用 FillRectangle 函数绘制了填充的正方形并且使用 LinearGradientBrush 作为画刷的颜色。 Brush 的构造函数接受两个点这里我们使用 Point(0, 0) 和 Point(100, 100) 定义了一个渐变的范围。 实现效果图
http://www.hkea.cn/news/14291285/

相关文章:

  • 建设仿优酷视频网站选择做印象绍兴网站的原因
  • 网站的可视化设计广西网站建设哪家不错
  • 成都市住房和城乡建设局网站企业邮箱有哪几种
  • 西安家电商城网站建设三明企业网站建设
  • 永丰县城乡建设局网站最佳网站设计
  • 做蛋糕网站排名优化是什么
  • 与客户沟通网站建设的技巧东莞网站设计如何
  • 做网站一般的尺寸网站群建设指导意见
  • 蛇口网站建设公司医疗器械网站素材
  • 电子商务网站建设与管理第二版短视频推广策划方案
  • 网站建设中图片尺寸网站是先备案还是先做网站
  • 淄博周村网站建设方案西安网站建设云阔
  • 商务网站的规划流程企业网app下载
  • 网站建设 优化班级网站主页设计模板
  • 专业的网站设计建设800元建网站
  • 做一个网站小程序开发公司制作
  • 大连网站建设新图闻山东省建设教育集团网站首页
  • 程序员做游戏还是做网站好0453牡丹江信息网二手房买卖
  • 赤城县城乡建设局网站国内做分销比较好的平台
  • 桥 网站建设茶百道加盟费大概要多少
  • 如何做好品牌网站建设方案福州建设工程协会网站查询系统
  • 新网站怎样做优化.ent做的网站有哪些
  • 中国河北网站网站开发 私活
  • 昆山公司做网站wordpress 什么值得买 我要爆料
  • 建设工程消防网站进入程序优质的网站自助建站
  • php企业公司网站源码上海短视频推广
  • 任经理 徐州网站建设对中国建设银行网站的缺点
  • 贵阳网站开发哪家好wordpress常规选项
  • 网站可以只做移动端吗网站开发项目技能比赛获奖报道
  • asp.net mysql 网站开发wordpress删除页头页尾