基于对话框显示,动态显示jpg.bmp等图片,并获取鼠标移动的坐标值及rgb值
来源:互联网 发布:windows开发语言 编辑:程序博客网 时间:2024/04/30 19:19
2.添加一个打开jpg图片的按钮,并响应其按钮事件
执行代码如下:
void CimageloadDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
CFileDialog cfd(true,_T(".jpg"),NULL,OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,_T("Executable Files (*.jpg)|*.jpg|All Files (*.*)|*.*||"),this); //选项图片的约定
if(cfd.DoModal()!=IDOK) //判断是否获得图片
{
return;
}
m_path = cfd.GetPathName(); //获得图片路径
UpdateData(false); //更新路径公共变量
ShowPicture(); //调用显示图片函数
//OnOK();
}
添加函数显示图片的函数
void CimageloadDlg::ShowPicture(void)
{
if(m_path=="") //判断图片路径是否存在
{
return;
}
//AfxMessageBox(_T("读取到图片路径"));
CRect rect;
m_picture.GetClientRect(&rect); //m_picture为Picture Control控件变量,获得控件的区域对象
CImage image; //使用图片类
image.Load(m_path); //装载路径下图片信息到图片类
CDC* pDC = m_picture.GetWindowDC(); //获得显示控件的DC
pDC->SetStretchBltMode(STRETCH_HALFTONE);
image.Draw( pDC -> m_hDC,rect); //图片类的图片绘制Draw函数
ReleaseDC(pDC);
}
在OnPaint添加显示图片的函数,当窗口发生重绘时,图片也重绘显示
void CimageloadDlg::OnPaint()
{ ShowPicture();
}
接下来实现鼠标移动,在控件上显示其坐标点及rgb值的功能
void CimageloadDlg::OnMouseMove(UINT nFlags, CPoint point)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CString str1;
CRect rect_ctr;
(GetDlgItem(IDC_SHOW))->GetWindowRect(&rect_ctr); //获取Picture控件相对屏幕左上角的坐标,
ScreenToClient(rect_ctr);//获取Picture控件相对对话框客户区左上角的坐标
point.x -= rect_ctr.left;//point获取的是鼠标相对对话框客户区左上角的坐标,减去rect_ctr.left和
point.y -= rect_ctr.top;//rect_ctr.top后,即为鼠标相对Picture控件左上角的坐标
CString str;
CString strColor;
CDC * hDC = GetDC();
COLORREF rgb;
rgb=hDC->GetPixel( point);
int pixelR=GetRValue(rgb);
int pixelG=GetGValue(rgb);
int pixelB=GetBValue(rgb);
CString strX,strY,strR,strG,strB;
strR.Format("R=%d ",pixelR);
strG.Format("G=%d ",pixelG);
strB.Format("B=%d ",pixelB);
str+=strR;
str+=strG;
str+=strB;
//UpdateData(FALSE);
//(this->GetDlgItem(IDC_SHOW)) ->SetDlgItemText(IDC_EDIT1,pointshow);
rgbshow=str;
if(m_path!="")
{
if ( point.x>(rect_ctr.right-rect_ctr.left) || point.y>(rect_ctr.bottom-rect_ctr.top )
|| point.x<0 || point.y<0 )
{
// str1.Format("x=%d ,i=%d",point.x,i);
pointshow.Empty();
rgbshow.Empty();
SetDlgItemText(IDC_EDIT1,pointshow);
(this->GetDlgItem(IDC_EDIT2)) ->SetWindowText(rgbshow);
}
else
{
str1.Format("x=%d ,y=%d",point.x,point.y);
pointshow=str1;
SetDlgItemText(IDC_EDIT1,pointshow);
//SetDlgItemText(IDC_EDIT2,rgbshow);
UpdateData(FALSE);
(this->GetDlgItem(IDC_EDIT2)) ->SetWindowText(rgbshow);
}
}
- 基于对话框显示,动态显示jpg.bmp等图片,并获取鼠标移动的坐标值及rgb值
- MFC 基于对话框的图片控件(picture)动态加载.bmp图片并显示
- 对话框中显示jpg,bmp图片和对话框动态显示图片
- 对话框中显示jpg,bmp图片和对话框动态显示图片
- MFC对话框中显示BMP,JPG图片
- Js获取适时获取鼠标坐标值并显示
- Js获取适时获取鼠标坐标值并显示
- 获取鼠标在Picture控件中的坐标,并显示到对话框的状态栏中
- 获取鼠标在Picture控件中的坐标,并显示到对话框的状态栏中
- 获取鼠标在Picture控件中的坐标,并显示到对话框的状态栏中
- MFC 显示对话框内鼠标单击点的坐标值
- VC6.0中使用Stream Object读取数据中流文件并显示Bmp,JPG等图片
- VC6.0中使用Stream Object读取数据中流文件并显示Bmp,JPG等图片
- VC6.0中使用Stream Object读取数据中流文件并显示Bmp,JPG等图片
- MFC在picture control中JPG/BMP/ICO等格式图片显示,并支持清除图片显示
- Windows Mobile 上显示png,jpg,bmp等图片
- VC 显示jpg,gif,bmp等格式图片
- Picture控件显示图片保存为BMP,JPG等格式
- 剑指offer系列源码-替换空格
- Android下xml文档的序列化和解析
- DDoS攻击方式(信息图)
- 14章类型信息-之类型转换前先做检查--之instanceof
- 第15周项目3-两数和与差(用参数带回结果)
- 基于对话框显示,动态显示jpg.bmp等图片,并获取鼠标移动的坐标值及rgb值
- css 垂直居中方法整理
- 第十五周 oj平台 指针的基本操作
- Linux系统下中在命令行中实现Wifi 连接的方法
- 省份及城市的下拉框实现
- 2014年终总结,我决定要实现的三个目标
- ch6.JSP内置对象--session对象
- python 获取uuid
- printf 格式化输出符号详细说明