简单图片查看器小程序源代码实现
来源:互联网 发布:细胞因子的网络特征 编辑:程序博客网 时间:2024/05/21 08:48
建立对话框工程,编辑对话框:
建立消息响应,写入代码:
void CInvalidateDlg::OnBnClickedButton2()////显示 { // TODO: 在此添加控件通知处理程序代码 nType=1; Invalidate(); } void CInvalidateDlg::OnBnClickedButton3()////缩小 { // TODO: 在此添加控件通知处理程序代码 nType=2; Invalidate(); } void CInvalidateDlg::OnBnClickedButton4()///放大 { // TODO: 在此添加控件通知处理程序代码 nType=3; Invalidate(); } void CInvalidateDlg::OnBnClickedButton1()////选择按钮 { // TODO: 在此添加控件通知处理程序代码 CFileDialog fileDlg(TRUE); fileDlg.m_ofn.lpstrFilter = L"位图文件(*.bmp)\0*.bmp\0所有文件(*.*)\0*.*\0\0"; if (fileDlg.DoModal() == IDOK) { szfile=fileDlg.GetPathName(); m_PicPath.SetWindowTextW(szfile); if (m_pBmp != NULL) { delete m_pBmp; //Invalidate(); m_pBmp = NULL; } m_pBmp = Bitmap::FromFile(szfile.AllocSysString()); Color bkClr(0, 0, 255); m_pBmp->GetHBITMAP(bkClr, &hBmp); nWidth=m_pBmp->GetWidth(); nHeight = m_pBmp->GetHeight(); szfile.ReleaseBuffer(); } }
void CInvalidateDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // 用于绘制的设备上下文 SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0); // 使图标在工作区矩形中居中 int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // 绘制图标 dc.DrawIcon(x, y, m_hIcon); } else { PAINTSTRUCT ps; CDC *pDC=BeginPaint(&ps); CDC memDC; if(nType==1) { m_pBmp = Bitmap::FromFile(szfile.AllocSysString()); Color bkClr(0, 0, 255); //CDC *pDC=GetDC(); //CDC memDC; m_pBmp->GetHBITMAP(bkClr, &hBmp); memDC.CreateCompatibleDC(pDC); memDC.SelectObject(hBmp); pDC->BitBlt(100,100,nWidth,nHeight,&memDC,0,0,SRCCOPY); } if(nType==2) { m_pBmp = Bitmap::FromFile(szfile.AllocSysString()); Color bkClr(0, 0, 255); //CDC *pDC=GetDC(); //CDC memDC; m_pBmp->GetHBITMAP(bkClr, &hBmp); memDC.CreateCompatibleDC(pDC); memDC.SelectObject(hBmp); pDC->StretchBlt(100,100,nWidth/2,nHeight/2,&memDC,0,0,nWidth,nHeight,SRCCOPY); } if(nType==3) { m_pBmp = Bitmap::FromFile(szfile.AllocSysString()); Color bkClr(0, 0, 255); //CDC *pDC=GetDC(); //CDC memDC; m_pBmp->GetHBITMAP(bkClr, &hBmp); memDC.CreateCompatibleDC(pDC); memDC.SelectObject(hBmp); pDC->StretchBlt(100,100,nWidth+50,nHeight+50,&memDC,0,0,nWidth,nHeight,SRCCOPY); } EndPaint(&ps); CDialogEx::OnPaint(); } }头文件部分:
Bitmap *m_pBmp;//定义位图对象,派生于Image类 HBITMAP hBmp; INT nWidth; INT nHeight; INT nType; CString szfile;注意哦!这是个GDI+项目,需要引入必要的GDI+代码。请到之前的文章找GDI+代码
阅读全文
1 0
- 简单图片查看器小程序源代码实现
- 网络图片查看器的简单实现
- jquery实现简单的图片查看器
- 简单图片查看器的实现
- Java 实现的简单图片缩放小程序
- 【Html5+JS】简单的查看图片程序
- 基于jQuery的一个简单的图片查看器实现
- linux 实现查看文件大小的小程序
- java小程序查看器
- java小程序查看器
- Android小程序--简单图片浏览器
- 简单使用JQZoom实现放大查看图片
- 用开源代码smartimageview 实现网络图片查看
- 图片查看器处理程序
- 求个C语言源代码~一个简单的小程序
- Android之---RecycleView实现简单的图片查看功能(类似相册查看器)
- 安卓笔记之网络图片查看器小程序以及消息处理机制运用
- 小程序实现图片预览功能
- C++命名空间
- servlet生命周期
- 【算法题】创造新世界
- 蛇形填数2
- cx_Oracle安装教程
- 简单图片查看器小程序源代码实现
- 认清函数的真面目
- Android一点 让eclipse全功能支持Google Firebase
- Kafka基础(一)
- Centos6.X搭建ClouderaManager的YUM源
- 简单的极光推送
- 【WPF】将数据显示到DataGrid
- Andorid 中TouchEvent理解(三) TouchEvent分发机制(onInterceptTouchEvent()回调返回值区别)
- form表单上传附件的几种方法