关闭

c++ 图像相关

标签: MFCpicturecontrol 显示选择文件打开绘图
444人阅读 评论(0) 收藏 举报
分类:

选择目录:http://blog.csdn.net/chenglong_abc/article/details/7590011

TCHAR   szPath[MAX_PATH]={0};
LPITEMIDLIST   pitem;
BROWSEINFO   info;
::ZeroMemory(&info,sizeof(info));
info.hwndOwner=this->m_hWnd;  
info.lpszTitle=_T( "选择默认路径: ");
info.pszDisplayName = szPath;
if(pitem=::SHBrowseForFolder(&info))
{
::SHGetPathFromIDList(pitem,szPath);
UpdateData(FALSE);

AfxMessageBox(szPath);

选择图像打开,并显示在PICTURE控件上

char szFileFilter[]="JPG File(*.JPG)|*.JPG|"
               "jpg File(*.jpg)|*.jpg|"
"bmp File(*.bmp)|*.bmp|"
"All File(*.*)|*.*||";//文件类型过滤
CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY,szFileFilter);
if(dlg.DoModal()==IDOK)
{
CString PathName=dlg.GetPathName();//得到文件路径
//AfxMessageBox(PathName);
CString FileName=dlg.GetFileName();//得到文件名字
CWnd *pWnd;
pWnd=GetDlgItem(IDC_PIC);//得到picture控件句柄
CRect m_Rect;
pWnd->GetWindowRect(m_Rect);
ScreenToClient(&m_Rect);
CImage m_Image;
m_Image.Load(PathName);//加载文件
m_Image.Draw(GetDC()->m_hDC,CRect(m_Rect.left,m_Rect.top,m_Rect.right,m_Rect.bottom));//显示在picture控件的矩形区域内

}

效果图:

绘制像素点:

CDC *p=this->GetDC();
    CPen pen;
pen.CreatePen(PS_SOLID,1,RGB(255,0,0));
::SelectObject(p->GetSafeHdc(),pen);
p->SetBkMode(TRANSPARENT);

p->SetPixel(x,y,RGB(0,255,0));

绘制椭圆:以(x1,y1)(x2,y2)两点为矩形的内切椭圆

p->Ellipse(x1,y1x2,y2);

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:8960次
    • 积分:207
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类