我经常编写通过将像素直接写入缓冲区来渲染图像的代码,而且我经常发现很难很好地了解实际情况。 Visual Studio调试器中的Memory窗口有点帮助,但我真的很想以图形方式查看图像。
所以我的问题是,有没有人知道一个调试扩展,它可以读取一块内存作为指定像素格式的图片并以图形方式显示它?
答案 0 :(得分:3)
存在这样的事情:
用于在Win32 C / C ++应用程序中对图像进行简单printf样式调试的实用程序。
http://billbaxter.com/projects/imdebug/
我的同事对它赞不绝口。
- 克里斯
答案 1 :(得分:1)
我的一位同事写了这篇CodeProject文章,用于编写Debugger Visualizers
http://www.codeproject.com/KB/showcase/BuildDebuggerVisualizer.aspx
它使用我们的产品,一个.NET映像工具包,但它可以很容易地适应使用.NET映像类。
答案 2 :(得分:1)
你要求的东西在原生c ++中自然是不可能实现的。 可视化调试器内的所有可视化技术都围绕CLR进行组织,因此可以是C#或C ++ / CLI。
可以帮助本土的一件事是expression evaluator addin机制。当然,它被设计为返回一个字符串然后消失,但它是代码,所以你理论上可以运行任何代码,包括显示一个窗口并显示你关心的数据(在从调试对象读取之后)。
但是看到原生方面缺少那些伟大的功能,这有点令人失望。
答案 3 :(得分:1)
我正在为用于显示/编辑图像的VC6 / 7/8/9开发一个开源加载项Visual Image Assist。也许你也想要它。
答案 4 :(得分:0)
我已经废弃了我的旧答案,因为它无关紧要。新的on也使用了OpenCV(因为我试图显示OpenCV图像),但它可以适应任何框架。
核心代码需要内存地址address
,以及通过numrows
,numcols
和{{1}读取的字节数并将这些字节读入缓冲区。我确信您可以根据自己的需要调整 部分代码。
byte_size
答案 5 :(得分:0)
此示例将有助于: http://www.codeproject.com/KB/WPF/WPF_Glimps.aspx
该类可以在单独的DLL中以C ++ CLI添加。