gpt4 book ai didi

c++ - 是否像在 MFC 中那样支持在 nana c++ 的 Canvas 上涂鸦?

转载 作者:搜寻专家 更新时间:2023-10-31 02:23:35 25 4
gpt4 key购买 nike

我有一个用 VC6 的 MFC 编写的旧图形应用程序,我正试图将其迁移到更符合标准的 C++ 框架。我查看了 nana 项目的文档 here ,试图找到一个基本示例,用于在类似于旧版 scribble MDI drawing example 的类似 Canvas 的小部件上涂鸦这是随 Visual C++ 一起提供的。

我读到 nana 是一个很有前途的新的 c++ GUI 平台,我想知道它是否适合一般的 GUI 编程。然而,查看 nana 文档,只有按钮、列表框等的示例。我找不到任何关于图形功能的提及,例如在 Canvas (或内存位图)上绘图,这些功能在其他 GUI 库(例如 MFC 或 wxWidgets)中很常见。

有谁知道 nana 项目是否可以支持图形操作,例如 VC++ scribble 示例的底层操作?更具体地说,MS visual studio 的示例文件夹中的涂鸦示例展示了响应鼠标事件徒手绘制曲线、存储曲线并在视口(viewport)进行缩放和平移时刷新客户区(即处理逻辑与图像/像素坐标系)。这些是我一直在寻找的图形 API 支持。

谢谢。

最佳答案

我在 MS 找不到示例,我不确定您需要什么。您可以尝试使用此链接:

在文档中:drawing wrapperhier , 设置绘图函数。

在 doxy-docs: drawing

可以使用以下方法构建绘图函数:graphics

这样:

#include <nana/gui/wvl.hpp>

int main()
{
using namespace nana;

form fm;
drawing dw(fm);
dw.draw([](paint::graphics& graph)
{
graph.rectangle(rectangle{5, 5, 50, 50}, true, colors::red );
graph.line(point(5, 5), point(55, 55), colors::white);
});

dw.update();
fm.show();
::nana::exec();
}

enter image description here希望对你有帮助

关于c++ - 是否像在 MFC 中那样支持在 nana c++ 的 Canvas 上涂鸦?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29133606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com