c++ - graphviz 渲染到 gdiplus

标签 c++ mfc gdi+ graphviz

我正在查看 graphviz (gvc),以便将一些图形的创建嵌入到我正在使用的 MFC 应用程序中。

据我所知,呈现为 png 文件非常简单,但我想将其呈现为 gdiplus 上下文,而不必将临时文件写入磁盘进行显示(这似乎是唯一的选择) .这可能吗?

问候坎达格

最佳答案

是的,如果您编写自己的渲染器插件,这是可能的。参见 http://www.graphviz.org/doc/libguide/libguide.pdf .它已经为 X11 完成(请参阅 http://www.graphviz.org/doc/info/output.html#d:xlib ),因此您可能可以将其作为灵感,您可能需要做的“全部”工作就是将 xlib 原语转换为 GDI(+) 原语。

也就是说,对我来说这不值得,我只是渲染到一个临时文件并读入它。它在概念上不是很好,但对于用户来说它没有任何区别,这将是一个重要的实现和调试上述渲染器的工作量。我怀疑对于 graphviz 的输出足够好的用例,拥有原生 Gdi 渲染器的优化是不值得的......

关于c++ - graphviz 渲染到 gdiplus,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32052519/

相关文章:

长字符串中的 C++ 字符搜索(随机位置)

c++ - 为什么我不需要检查引用是否无效/空?

c++ - 改进WM_PAINT和WM_CTLCOLORSTATIC处理程序的代码

.net - 使用 mono 的 gdi+ 库的相同方法在不同机器上给出非常不同的结果

c++ - boost serialization 1.5.5 在遇到 Nan 和 Inf 时崩溃

c++ - 错误-11

c++ - 如何隐藏 win32 应用程序窗口?

windows - 等待 AfxBeginThread/CWinThread 消息泵激活?

c++ - 使用(MFC 的)CImage::SetPixel() 改变像素的颜色

c++ - 使用 Direct2D 在非客户区绘制