在winapi32控件中是否有任何控件可用于绘制这样的图表?
你不知道我怎么画一个吗?
(像这样!)
您会发现 Windows API 的第三方图表控件 -
http://www.gigasoft.com/graphinglibrary.html
http://www.codeproject.com/Articles/14330/Custom-Control-Graph-and-Process-Bar
或者您可以使用 GDI 函数LineTo和MoveTo自己绘制折线图。
您绝对应该在“桌面开发 -> 杂项”部分的CodeProject中搜索任何类型的此类库。但就我而言,我会使用“ A 2D data可视化类”,它提供了一组非常好的特性(来自文章):
- 正常和散点图模式
- 自动缩放
- 缩放
- 适合宽度、高度和页面
- 鼠标坐标追踪
- 能够以交互方式添加和显示高达每秒 15000 个点(取决于计算机的速度)
- 平移支持 - 只需按住 shift 键,同时按住左键移动鼠标 图形可以在任何设备上下文上绘制,包括打印机的
另一种选择是使用现成的 MFC或ActiveX组件。第一个很好的例子是“ Plot Graphic Library ”,第二个例子是“ GDI+ Plot ActiveX Control ”。正如您已经提到的,所有这些库都基于 GDI Windows 工具。顺便说一句,您可以自己绘制这个简单的图形,因为 Windows 中的 GDI(和 GDI+)功能非常强大。
另请参阅“ SoftIntegration 图形库 (SIGL) ”。该库包含许多不同的图和曲面。
但是,同样,这只是关于 GDI。另一种变体是使用 DirectX 或 OpenGL。对于后者,您绝对应该尝试SDL(简单 DirectMedia 层),它:
是一个跨平台的多媒体库,旨在通过 OpenGL 和 2D 视频帧缓冲区提供对音频、键盘、鼠标、操纵杆、3D 硬件的低级访问。如您所见,它是一个跨平台库。
熟悉的好 SO 问题是:
更新:
我忘了提到“ ROOT ”——它是我见过的最强大的图形库。实际上,它不是库,而是“数据分析框架”。图书馆的创建者是来自 CERN 的人。使用这个库,您可以构建几乎所有类型的绘图、曲面和图形。它是跨平台的,用 C++ 编写。ROOT 具有:控制台版本(您可以在其中使用 C++ 编写命令,-ROOT 有自己的 C++ 编译器)和大量库来链接您的项目。您可以在 MSVS 2008 和 MSVS 2010 的帮助下构建 MFC 应用程序。