博客
关于我
003--VS2013 C++ 多边形绘制
阅读量:797 次
发布时间:2023-04-04

本文共 980 字,大约阅读时间需要 3 分钟。

全局变量

HPEN hPen;
HBRUSH hBru;
POINT poly1[6], poly2[5], poly3[5];

初始化实例函数

BOOL InitInstance(HINSTANCE hInstance, int nShowCmd)
{
HWND hwnd;
HDC hdc;
const double pi = 3.1415926535;

// 创建窗口  hwnd = CreateWindow("GameClass", WINDOW_TITLE, WS_OVERLAPPEDWINDOW,      CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);  if (!hwnd)  {      return FALSE;  }  // 调整窗口位置和大小  MoveWindow(hwnd, 250, 80, WINDOW_WIDTH, WINDOW_HEIGHT, true);  ShowWindow(hwnd, nShowCmd);  UpdateWindow(hwnd);  hdc = GetDC(hwnd);  MyPaint(hdc);  ReleaseDC(hwnd, hdc);  return TRUE;

}

绘图函数

void MyPaint(HDC hdc)
{
SelectObject(hdc, hPen);
SelectObject(hdc, hBru);

// 绘制多边形  PolylineTo(hdc, poly1, 6);  Polyline(hdc, poly2, 5);  Polygon(hdc, poly3, 5);

}

代码分析:

在这个代码片段中,首先定义了几个全局变量用于绘图操作。然后定义了一个用于初始化窗口和绘图的函数InitInstance,其中负责创建窗口并调用绘图函数MyPaintMyPaint函数则负责根据预定义的多边形坐标绘制图形。

代码实现了以下功能:

  • 窗口的创建、位置设置和显示状态的控制
  • 多边形的绘制,包括线条和封闭图形的绘制
  • 通过PolylineToPolylinePolygon函数实现多边形的绘制
  • 值得注意的是,代码中使用了随机颜色生成的方式,为图形添加了不同的颜色效果。

    转载地址:http://sirfk.baihongyu.com/

    你可能感兴趣的文章
    MySQL SQL 优化指南:主键、ORDER BY、GROUP BY 和 UPDATE 优化详解
    查看>>
    mysql sum 没返回,如果没有找到任何值,我如何在MySQL中获得SUM函数以返回'0'?
    查看>>
    mysql Timestamp时间隔了8小时
    查看>>
    Mysql tinyint(1)与tinyint(4)的区别
    查看>>
    mysql union orderby 无效
    查看>>
    mysql where中如何判断不为空
    查看>>
    mysql workbench6.3.5_MySQL Workbench
    查看>>
    MySQL Workbench安装教程以及菜单汉化
    查看>>
    MySQL Xtrabackup 安装、备份、恢复
    查看>>
    mysql [Err] 1436 - Thread stack overrun: 129464 bytes used of a 286720 byte stack, and 160000 bytes
    查看>>
    MySQL _ MySQL常用操作
    查看>>
    MySQL – 导出数据成csv
    查看>>
    MySQL —— 在CentOS9下安装MySQL
    查看>>
    mysql 不区分大小写
    查看>>
    mysql 两列互转
    查看>>
    MySQL 中开启二进制日志(Binlog)
    查看>>
    MySQL 中文问题
    查看>>
    MySQL 中日志的面试题总结
    查看>>
    mysql 中的all,5分钟了解MySQL5.7中union all用法的黑科技
    查看>>
    Mysql 中的日期时间字符串查询
    查看>>