#include <stdio.h>
#include <windows.h>
void main() //void 也可以不要, 想想为什么
{
FILE *fp=fopen("d:\\lena.raw","rb"); //打开文件lena.raw
if(fp==NULL)
{
printf("can not open lena.raw\n");
return;
}
unsigned char *image[1000];//image[i]是一个指针
for(int i=0;i<512;i++)
{
image[i]=new unsigned char[512]; //申请512字节的内存空间, 把起始地址赋给image[i];
fread(image[i],1,512, fp);
}
fclose(fp);
//可以考虑在此处加入图象处理函数
FILE *fp1=fopen("d:\\new.bmp","wb");
if(fp1==NULL){
printf("can not open new.bmp");
return;
}
int imageW=512;
int imageH=512;
int storeW=imageW;
if (storeW%4!=0) storeW+=(4-storeW%4);
BITMAPFILEHEADER bh;
bh.bfType = ((WORD) ('M' << 8) | 'B'); // "BM"
bh.bfReserved1=0;
bh.bfReserved2=0;
bh.bfSize=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+sizeof(RGBQUAD)*256
+storeW*imageH;//注意此处用storeW;
bh.bfOffBits=sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER)+sizeof(RGBQUAD)*256;
BITMAPINFOHEADER bInfo;
bInfo.biSize=sizeof(BITMAPINFOHEADER);
bInfo.biWidth=imageW;
bInfo.biHeight=imageH;
bInfo.biPlanes=1;
bInfo.biBitCount=8;
bInfo.biCompression=BI_RGB;
bInfo.biSizeImage=storeW*imageH;
bInfo.biXPelsPerMeter=0; //0是一种简化问题的处理方法
bInfo.biYPelsPerMeter=0;
bInfo.biClrUsed=256;
bInfo.biClrImportant=0;
fwrite(&bh,sizeof(BITMAPFILEHEADER),1,fp1);
fwrite(&bInfo,sizeof(BITMAPINFOHEADER),1,fp1);
RGBQUAD rgb;
rgb.rgbReserved=0;
for(i=0;i<256;i++)
{
rgb.rgbBlue=rgb.rgbRed=rgb.rgbGreen=i;
fwrite(&rgb,sizeof(RGBQUAD),1,fp1);
}
for(i=0;i<512;i++)
{
fwrite(image[511-i],1,512, fp1);
}
fclose(fp1);//只有执行完fclose(fp1), 操作系统才会把所有数据写入new.raw, 否则, 有可能还在缓存中
}
raw2bmp.rar_raw2bmp_visual c
版权申诉
133 浏览量
2022-07-13
18:46:21
上传
评论
收藏 1KB RAR 举报
APei
- 粉丝: 63
- 资源: 1万+
最新资源
- 课设毕设基于SSM的校园餐厅管理 LW+PPT+源码可运行.zip
- Python井字棋代码
- 课设毕设基于SSM的书店仓库管理系统2021 LW+PPT+源码可运行.zip
- 课设毕设基于SSM的沙县小吃点餐系统 LW+PPT+源码可运行.zip
- 课设毕设基于SSM的旅游景点线路网站 LW+PPT+源码可运行.zip
- EDA实验计数器CNT9999-DTCNT9999实验源代码
- 课设毕设基于SSM的抗疫医疗用品销售平台 LW+PPT+源码可运行.zip
- 基于Halcon的仿照VisonPro的机器视觉软件.zip
- battery-percentage-detector 使用 Javascript 的电池百分比检测器
- 毕业设计基于Qt+FFmpeg+SDL实现的音视频播放器源码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈