1.CImage 主要用来加载显示保存图片用的,比bitmap要灵活。
void CMy4View::OnDraw(CDC* pDC)
{
CMy4Doc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;
RECT rect ;
rect.top = 0;
rect.left = 0;
rect.bottom = img.GetHeight();//img是在view类定义CImage的全局变量
rect.right = img.GetWidth();
img.Draw(pDC->m_hDC,rect);//显示
for(int i=0;i<30;i++)
{
for(int j=0;j<80;j++)
{
img.SetPixelRGB(i,j,255,0,0);//像素级别的操作。当然要想处理图片还得用opencv才行,cimage属于菜鸟即被操作。
}
}
img.Save("hello2.jpg");//保存图片。
// TODO: 在此处为本机数据添加绘制代码
}
2.选择文件用的对话框:CFileDialog ;
void CbmpARMfc2Dlg::OnBnClickedButtonOpenImg()
{
// TODO: 在此添加控件通知处理程序代码
CFileDialog fileDlg(TRUE);
fileDlg.m_ofn.lpstrTitle="请选择第一张要处理的图片";
fileDlg.m_ofn.lpstrFilter="jpg图像(*.jpg)\0*.jpg\0png图像(*.png)\0*.png";//;;;;文件过滤。
if(IDOK==fileDlg.DoModal() )
{
}
}
fi
3.Cstring 与string、char转换:
http://blog.csdn.net/huihui0121/article/details/5804446;
http://blog.csdn.net/win2ks/article/details/2528275 cstring 常用的操作。
4.CFileFind 类。查找所有的文件。
CFileFind find ;
int fileNum=0;
//find.GetFilePath();
if(find.FindFile(m_path+"\\*.*") )
{
while(find.FindNextFileA() )
{
fileNum++;
}
}