在vtk下使用OpenGL绘图

先挂参考链接 https://blog.csdn.net/zgjorson/article/details/9132559

博主大体上是参照上面博客的,另外加了一些自己实现了功能,博客里面贴的有代码。

和参考博客有点儿不一样,上面博客使用的vtk5.2,博主使用的是vtk7(比起原博客注释了两行代码),另外博主添加了相机视角设置,OpenGL绘图也有区别。

阅读更多

TeeChart2018 MFC 编译64位应用程序

网上的TeeChart破解只有v5和v8,而v5和v8只能用来编译32位程序,编译64位程序时虽然可以编译通过,但是运行会出错。如果想要编译64位的TeeChart MFC程序,那么就要使用2011年之后的版本。现在,2011年之后的版本没有破解,所以这篇博客只是提供一个评估版本,像是文中的效果,有水印存在,如果仅仅是调试程序,而非用于商业用途应该足够了。

挂上下载链接:TeeChart2018Eval完整包。安装好之后,在安装目录中可以找到32位控件teechart2018.ocx和64位控件x64/teechart201864.ocx,运行regsvr32 teechart201864.ocx注册它们就可以了。控件注册安装和使用与v5和v8一样,参见我前一篇博客

阅读更多

TeeChart For MFC 安装与使用

首先挂上下载链接: TeeChart破解版(v5)。然后挂上一个演示工程:MFCTeeChart。然后是TeeChart8_ActiveX及安装使用方法

MFC TeeChart是用来画图的,能查到这个页面来的都知道,就不多介绍。下面抓哟介绍TeeChart的安装和使用。这其中还有一个小问题,就是以上两个版本只能用来编译32位程序,需要编译64位程序需要2011年之后的版本,目前只有评估版本,参见我的另一篇博客

阅读更多

MFC-SpinButton响应鼠标抬起事件

SpinButton鼠标抬起的响应需要将CSpinButtonCtrl控件先子类化,然后再子类中响应WM_LBUTTONUP事件,在该事件的响应函数中发送消息给父窗口,这里博主发送的是自定义消息,然后再父窗口中接受该消息进行处理,即可响应Spin控件的鼠标抬起了。具体代码如下:

阅读更多

MFC中嵌入VTK显示点云数据

最近折腾MFC中的PCL点云显示,折腾了很久,尝试过OpenGL方案、VTK方案等,最终整理出一套最优的方案,决定使用VTK来显示点云。博主将显示整理成一个CVtkViewer类,该类继承自CStatic,直接修改Picture控件变量的类型就可以实现显示,对点云和图像接口进行封装,使用较为方便和安全。并且使用VTK显示的类封装可以在多个窗口分别显示,如左图所示可以在两个以上的窗口分别显示不同的点云,如果使用OpenGL来实现会相当麻烦。还有就是VTK这种上层接口封装非常全面,OpenGL太偏底层了,比如VTK会自动设置合适的相机位置,而OpenGL实现同样的效果就需要自己解算位置,这也是博主放弃OpenGL的重要原因。

在这篇博客之前,你需要对VTK开发有基本了解,博主使用的是VTK7.0,PCL1.8.0,博客中对博主遇到的编译错误、运行错误等都做了详细解释,希望能有帮助。

阅读更多

进程间通信(内存映射)方式传输CV::Mat图像数据

关于内存映射的进程间通信,我直接一篇博客已经详细介绍过,这里只是再次补充一个传输图像的应用,因为OpenCV中Mat格式较为常用(并且也很方便传输),刚好用到,就做个笔记好了。应用的场景是B进程中的Mat传给A进程,A进程接受并恢复为Mat格式。其它也没什么好说的,有细节为题就参见我之前的博客,那么开始吧。

阅读更多

MFC/C++多线程

操作系统中线程和进程的概念就不再强调,这篇博客主要介绍在Windows中多线程的创建、挂起、终止、通信、同步,大都是代码层面的介绍,这也是个人的笔记,摘抄自网络。

如果对这些概念不熟悉,建议先移步百度,或者操作系统教材,如果你支持查阅手册或者API参数讲解,那么希望这篇博客能给你答案。话不多说,开始吧。

阅读更多

MFC坐标转换详解

MFC中存在两个坐标系,一个是屏幕坐标系,以显示器左上角为原点,另一个是窗口坐标系,以MFC包含边界的客户端的左上角为原点,我们在涉及MFC坐标操作时常常对获取的坐标是哪个坐标系下的坐标感到非常困扰,于是这篇博客将详细解析MFC中的各种坐标以及其转换关系,希望能有帮助。

阅读更多

MFC动态设置CEdit、CStatic文字颜色和背景颜色(修改控件方式)

MFC的控件常常需要动态的改变文字颜色和背景底色,最好的做法是修改控件本身,增加设置颜色的接口函数直接调用,进行控件颜色的修改。CtlColor是反射式消息的响应函数,在控件内部自己实现重绘,这种方式是最好的。与反射式消息修改控件本身不同,还有另一种方式使用OnCtlColor在控件父窗口类中增加代码修改颜色,这两种方式都可以实现颜色的修改。这篇博客主要介绍反射式消息的方式。

阅读更多

MFC绘图介绍

        对于MFC绘图,博主也没有什么真知灼见,只是将自己在学习MFC绘图中遇到的问题进行整理,大部分内容并非原创,博主都在醒目位置给出了出处。包含的内容有DC设备描述表、绘图基础、双缓冲、鼠标控制和MFC中使用OpenGL。希望能有帮助,我们开始吧。

阅读更多

MFC中VSLISTBOX控件的使用

        在VS2010之后陆续加入许多控件,其中就有看上去比较好看的vslistbox,然而vslistbox的资料非常少,这篇博客就来稍稍解读一下vslistbox控件。vslistbox与其它list控件不同,它们的类从CStatic的继承时已经分开了,并且vslistbox比较封闭,没有提供任何消息时间和命令,我们使用该控件的唯一方法是子类化CVSListBox类,通过重载其中虚函数的方式来实现我们的功能。虽然vslistbox非常封闭,但是我们依然可以从微软MSDN的文档中窥见一隅,实现一些并不十分复杂的功能。

阅读更多

MFC中显示Mat格式图像——Mat转CImage方法

        Mat是opencv中的图像格式,如果想要图像在MFC中显示,将Mat格式转为MFC支持的CImage格式是一种较为优秀的解决方案,这篇博客就来介绍在MFC中显示Mat图像的方法。虽然原理相同,但博主还是要介绍两种方式:一种是通过子类化显示控件的方式进行显示,第二种是在父窗口中调用。如果你做的工程比较庞大,博主建议使用子类化控件的方法,当然,如果你是小工程,博主也依然建议你使用子类化的方法,这样不仅使代码结构简单封装良好,而且方便了控件的拓展。

阅读更多

在MFC中使用工具条(Toolbar控件及其消息事件)

        MFC中的Mene和Toolbar都是常用的控件,如果你觉得按钮控件不容易组织结构,Menu和Toolbar将是一个不错的选择,你可以参照微软官方的代码添加控件,这篇不可介绍的是最简方法,直接开始吧。过程分为三步:

        1.在资源管理器中添加Toolbar控件

        2.在控件编辑器中添加图标和按钮

        3.为按钮添加消息事件

阅读更多