xw_2015 2015-07-29 08:01 采纳率: 0%
浏览 2355
已结题

vc2013下.bmp图片读取处理与保存

写一个C++后台程序,可以自动地对指定文件夹中的bmp图片进行处理,处理后的图片保存到另一个文件夹中,如果文件夹中无需要处理的图片,则程序处于休眠状态

如何遍历指定文件夹中的所有图片文件?

  • 写回答

1条回答 默认 最新

  • autocyz 2015-07-29 08:40
    关注

    void ProcPicDir(CString strPicDir)
    {
    CFileFind fileFinder;

    if (strPicDir.Right(1) == TEXT("\\"))
    {
        int nPos  = strPicDir.ReverseFind(TEXT('\\'));
        strPicDir = strPicDir.Left(nPos);
    }
    
    CString strPicFile = TEXT("");
    strPicFile.Format(TEXT("%s\\%s"),strPicDir,TEXT("*.*"));
    
    BOOL bWorking = fileFinder.FindFile(strPicFile);
    while (bWorking)
    {   
        bWorking = fileFinder.FindNextFile();
        if (fileFinder.IsDots())
        {
            continue;
        }
    
        CString strFilePath = fileFinder.GetFilePath();
        if (fileFinder.IsDirectory())
        {   
            //继续遍历目录
            ProcPicDir(strFilePath);
        }
        else
        {   
            int nPos = strFilePath.ReverseFind(TEXT('.'));
            CString strExt = strFilePath.Right(strFilePath.GetLength() - nPos - 1);
            if (strExt.CompareNoCase(TEXT("jpg"))  == 0 ||
                strExt.CompareNoCase(TEXT("jpeg")) == 0 ||
                strExt.CompareNoCase(TEXT("bmp"))  == 0)
            {   
                //处理图片
                //...
    
            }
        }
    }
    fileFinder.Close();
    

    }

    评论

报告相同问题?

悬赏问题

  • ¥15 shape_predictor_68_face_landmarks.dat
  • ¥15 slam rangenet++配置
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题