MFC,halcon混合编程 遍历目录文件夹下的图像并显示在对话框上
2016-05-31 13:58
537 查看
配置略,可参考这篇博客点击打开链接 http://blog.csdn.net/bettyshasha/article/details/51544203 1.新建一个基于对话框的工程,在对话框类中定义如下变量
2.在初始化函数中,添加如下代码,打开控件窗口,窗口大小可设置,我设置的是200,150.读者可根据需要设定成需要的大小。
3.新建一个按钮,并在按钮响应函数中添加如下代码:
将这段代码嵌入到OnBnClickedButton1()
函数
效果如图
如果要在控件如,picture control里面实现,将1,2修改如下:
配置略,可参考
1.新建一个基于对话框的工程,在对话框类中定义如下变量
2.在对话框中添加picture control控件,并将ID号改为,IDC_MY_PIC.
在初始化函数中,添加如下代码,打开控件窗口,窗口大小可设置,我设置的是200,150.读者可根据需要设定成需要的大小。
效果如图
// Local iconic variables HObject ho_Image; // Local control variables HTuple hv_ImageFiles, hv_Index; afx_msg void OnBnClickedButton1(); //open window and show HTuple hv_WindowHandle;
2.在初始化函数中,添加如下代码,打开控件窗口,窗口大小可设置,我设置的是200,150.读者可根据需要设定成需要的大小。
BOOL CshowTestDlg::OnInitDialog() { CDialogEx::OnInitDialog();//openWindowOpenWindow(0, 0, 200, 150, (Hlong)m_hWnd, "", "", &hv_WindowHandle);
}
3.新建一个按钮,并在按钮响应函数中添加如下代码:
void CshowTestDlg::OnBnClickedButton1() {
//在此添加读入图像和显示代码}
将这段代码嵌入到OnBnClickedButton1()
函数
//手动添加图片所在文件夹路径,遍历该文件夹下图像
char* pfilefilter= "图片文件(*.bmp *.png *.jpg)|*.bmp;*.png;*jpg|All Files (*.*)|*.*||";
CFileDialog OpenDialog(TRUE, NULL, 0, OFN_OVERWRITEPROMPT, pfilefilter, NULL);
CString str;
if (OpenDialog.DoModal() == IDOK)
{
str = OpenDialog.GetPathName();
int nIndex = str.ReverseFind('\\');
str = str.Left(nIndex);// 获取当前打开文件的所在目录}
char* ch = (char*)LPCTSTR(str);
HTuple htp;
htp = ch; /*"E:/course/solder/6"*/
//Image Acquisition 01: Code generated by Image Acquisition 01
ListFiles(htp, ((HTuple("files").Append("follow_links")).Append("recursive")),
&hv_ImageFiles);
TupleRegexpSelect(hv_ImageFiles, (HTuple("\\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima|hobj)$").Append("ignore_case")),
&hv_ImageFiles);
{
HTuple end_val3 = (hv_ImageFiles.TupleLength()) - 1;
HTuple step_val3 = 1;
for (hv_Index = 0; hv_Index.Continue(end_val3, step_val3); hv_Index += step_val3)
{
ReadImage(&ho_Image, HTuple(hv_ImageFiles[hv_Index]));
//Image Acquisition 01: Do something
//clear window
ClearWindow(hv_WindowHandle);
//SetPart(hv_WindowHandle, 0, 0, hv_Width, hv_Height);
//display image
DispObj(ho_Image, hv_WindowHandle);
Sleep(1000);}}
效果如图
如果要在控件如,picture control里面实现,将1,2修改如下:
配置略,可参考
1.新建一个基于对话框的工程,在对话框类中定义如下变量
// Local iconic variables HObject ho_Image; // Local control variables HTuple hv_ImageFiles, hv_Index; afx_msg void OnBnClickedButton1(); //open window and show HTuple hv_WindowHandle;
//pcture control 控件上显示图像
CRect rtWindow;
HWND hImgWnd;
2.在对话框中添加picture control控件,并将ID号改为,IDC_MY_PIC.
在初始化函数中,添加如下代码,打开控件窗口,窗口大小可设置,我设置的是200,150.读者可根据需要设定成需要的大小。
BOOL CshowTestDlg::OnInitDialog() { CDialogEx::OnInitDialog();
//在picture control上显示 hImgWnd = GetDlgItem(IDC_MY_PIC)->m_hWnd; GetDlgItem(IDC_MY_PIC)->GetClientRect(&rtWindow); OpenWindow(rtWindow.left, rtWindow.top, rtWindow.Width(), rtWindow.Height(), (Hlong)hImgWnd, "visible", "", &hv_WindowHandle);
}
效果如图
相关文章推荐
- java基础
- OC语言10-构造方法
- Spring入门
- 什么时候应该避免写代码注释?
- python启动应用程序和终止应用程序
- python数据保存
- KMP算法及java实现
- 从0开始学习 GitHub 系列之「初识 GitHub」
- (Java)LeetCode-20. Valid Parentheses
- 模板与c++11--右值引用
- C++中placement new操作符(经典)
- 从0开始学习 GitHub 系列之「加入 GitHub」
- python 装饰器
- 查看源代码Source not found及在eclipse中配置jdk的src.zip源代码
- 从0开始学习 GitHub 系列之「Git 速成」
- 第十四周--stl阅读程序
- OC语言9-@property @synthesize和id
- unreal engine 4 BeginPlay,GEngine 还有其他一些东西找不到
- [PHP源码阅读]count函数
- Python 3.4.3 使用threading模块进行多线程编码实现