设为首页 加入收藏

TOP

C++读取和存储一幅BMP图像
2015-11-21 01:01:27 来源: 作者: 【 】 浏览:1
Tags:读取 存储 BMP 图像

?

?

?

C++源码

?

#include
  
   
#include<
   windows.h>
#include
   
     #include
    
      #include
     
       #include
      
        using namespace std; void main () { char fileName[30]; //定义打开图像名字 char *buf; //定义文件读取缓冲区 char *p; int r,g,b,pix; HWND wnd; //窗口句柄 HDC dc; //绘图设备环境句柄 FILE *fp; //定义文件指针 FILE *fpw; //定义保存文件指针 DWORD w,h; //定义读取图像的长和宽 DWORD bitCorlorUsed; //定义 DWORD bitSize; //定义图像的大小 BITMAPFILEHEADER bf; //图像文件头 BITMAPINFOHEADER bi; //图像文件头信息 cout<<请输入要打开文件的名字:; cin>>fileName; if((fp=fopen(fileName,rb))==NULL) { cout<<文件未找到!; exit(0); } fread(&bf,sizeof(BITMAPFILEHEADER),1,fp);//读取BMP文件头文件 fread(&bi,sizeof(BITMAPINFOHEADER),1,fp);//读取BMP文件头文件信息 w=bi.biWidth; //获取图像的宽 h=bi.biHeight; //获取图像的高 bitSize=bi.biSizeImage; //获取图像的size buf=(char*)malloc(w*h*3); //分配缓冲区大小 fseek(fp,long(sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)),0);//定位到像素起始位置 fread(buf,1,w*h*3,fp); //开始读取数据 wnd=GetForegroundWindow(); //获取窗口句柄 dc=GetDC(wnd); //获取绘图设备 int x=40; int y=40; p=buf; for(int j=0;j
       
        

?

?

输入文件名:

\

?

显示图片:

\

存储的文件:

\

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++ 顺序表的基本操作 下一篇Codeforces Round #303 (Div. 2)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: