各位大侠,我想把本地的张图片用二进制方法读出来,保存在数组了,求各位赐教,最好有源代码,小弟新手~~~谢谢

解决方案 »

  1.   

    如果是文件直接fopen()以"rb"方式打开,然后读到内存就是;
    关键是要解析文件头及分析相关数据格式,如果不是bmp,最好用现成的库。
      

  2.   

    HBITMAP img;//图像像素数组
    unsigned char *px;    //要打开的图像文件名字
    CString filename = "1.bmp";   //这里的x,y是图像的长和宽,你看下图像是几乘几的然后改下就可以
    img = (HBITMAP)LoadImage(NULL,filename,IMAGE_BITMAP,x,y,LR_LOADFROMFILE); GetObject(bmp,sizeof(BITMAP),&bm);
    px = new unsigned char[bm.bmHeight*bm.bmWidthBytes];
    GetBitmapBits(bmp,bm.bmHeight*bm.bmWidthBytes,px);然后看看px中的数据,是不是已经把图像的像素数据提取出来啦!
    当然,楼上提到的用fopen的方法也可行,但是你还需要再血补下图像格式的知识咯!