资源简介
读出BMP文件,并以txt的形式进行保存
或者执行相反的过程
或者执行相反的过程
代码片段和文件信息
#include “bmp.h“
#include
#include
#include
#include
BYTE bitread(BYTE * bmpdatabyteint rownumberint columnnumberint offset int LineWidth)//按位读0/1
{
switch(offset)
{
case 0:
{
if ((bmpdatabyte[rownumber*LineWidth+columnnumber] & 0x80) == 0)
{
return 0;
}
else
{
return 1;
}
break;
}
case 1:
{
if ((bmpdatabyte[rownumber*LineWidth+columnnumber] & 0x40) == 0)
{
return 0;
}
else
{
return 1;
}
break;
}
case 2:
{
if ((bmpdatabyte[rownumber*LineWidth+columnnumber] & 0x20) == 0)
{
return 0;
}
else
{
return 1;
}
break;
}
case 3:
{
if ((bmpdatabyte[rownumber*LineWidth+columnnumber] & 0x10) == 0)
{
return 0;
}
else
{
return 1;
}
break;
}
case 4:
{
if ((bmpdatabyte[rownumber*LineWidth+columnnumber] & 0x08) == 0)
{
return 0;
}
else
{
return 1;
}
break;
}
case 5:
{
if ((bmpdatabyte[rownumber*LineWidth+columnnumber] & 0x04) == 0)
{
return 0;
}
else
{
return 1;
}
break;
}
case 6:
{
if ((bmpdatabyte[rownumber*LineWidth+columnnumber] & 0x02) == 0)
{
return 0;
}
else
{
return 1;
}
break;
}
case 7:
{
if ((bmpdatabyte[rownumber*LineWidth+columnnumber] & 0x01) == 0)
{
return 0;
}
else
{
return 1;
}
break;
}
default:
{
return 0;
break;
}
}
}
void main()
{
BMPHEAD bmpheader;
FILE *fp;
PaleSize paleheader;
if((fp = fopen(“./kdc.bmp““rb+“)) == NULL)
{
printf( “open file Failed! “ );
return ;
}
/***读入bmp文件(包括头信息)*****/
fread(&bftype sizeof(WORD) 1 fp);
fread(&bmpheader sizeof(bmpheader) 1 fp);
fread(&paleheadersizeof(paleheader)1fp);
int LineWidth = ((bmpheader.biWidth*bmpheader.biBitCount+31)/32*4);//计算bmp实际数据宽度
printf(“the size of headers is : %d\n“ LineWidth);
/***读入bmp数据到bmpdatabyte***/
BYTE * bmpdatabyte = (BYTE *)malloc(bmpheader.biHeight * LineWidth);
BYTE * bmpdatabit = (BYTE *)malloc(bmpheader.biHeight * bmpheader.biWidth);
memset (bmpdatabyte 0 bmpheader.biHeight * LineWidth);
memset (bmpdatabit 0 bmpheader.biHeight * bmpheader.biWidth);
fseek(fpbmpheader.bfoffBits SEEK_SET);
fread(bmpdatabyte bmpheader.biHeight*LineWidth 1 fp);
printf(“BMP文件高度为:%-d 宽度为:biWidth=%-d\n“bmpheader.biHeightbmpheader.biWidth);
int byterowbytecolumnoffset;
for (byterow=0;byterow {
for (bytecolumn=0; bytecolumn<(bmpheader.biWidth/8); bytecolumn++)
{
for (offset=0;offset<8;offset++)
{
bmpdatabit[byterow * bmpheader.biWidth + 8 * bytecolumn + offset] = bitread(bmpdatabytebyterowbytecolumnoffsetLineWidth);//读bmpdatabyte[(i)+(j)]的第k位数
if ((8 * bytecolu
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 8441 2008-01-30 13:25 BMPwrite\bmp.cpp
文件 3423 2008-01-17 13:54 BMPwrite\bmp.dsp
文件 531 2008-01-17 13:54 BMPwrite\bmp.dsw
文件 184402 2008-01-21 19:37 BMPwrite\bmp.exe
文件 1030 2008-01-18 09:19 BMPwrite\bmp.h
文件 58368 2008-01-21 19:49 BMPwrite\bmp.ncb
文件 54784 2008-01-21 19:49 BMPwrite\bmp.opt
文件 1799 2008-01-21 19:37 BMPwrite\bmp.plg
文件 184402 2008-01-21 19:37 BMPwrite\Debug\bmp.exe
文件 189744 2008-01-21 19:37 BMPwrite\Debug\bmp.ilk
文件 11659 2008-01-21 19:37 BMPwrite\Debug\bmp.obj
文件 235384 2008-01-18 09:19 BMPwrite\Debug\bmp.pch
文件 476160 2008-01-21 19:37 BMPwrite\Debug\bmp.pdb
文件 58368 2008-01-21 19:37 BMPwrite\Debug\vc60.idb
文件 69632 2008-01-21 19:37 BMPwrite\Debug\vc60.pdb
文件 134 2008-01-25 10:32 BMPwrite\kdc.bmp
文件 134 2008-01-25 10:33 BMPwrite\kdc_recover.bmp
文件 182010 2008-01-17 12:15 BMPwrite\用C语言实现读取BMP单色位图并另存!(求助!) C-C++ - C语言 - CSDN社区 community_csdn_net.mht
文件 29696 2008-01-17 11:29 BMPwrite\资料\BMP文件结构.doc
文件 64207 2007-12-21 09:32 BMPwrite\资料\BMP文件结构.pdf
文件 350 2008-01-18 12:34 BMPwrite\资料\kdc.bmp
文件 350 2008-01-21 19:36 BMPwrite\资料\kdc_recover.bmp
文件 4300 2008-01-30 13:25 BMPread\bmp.cpp
文件 3365 2008-01-21 10:10 BMPread\bmp.dsp
文件 531 2008-01-21 10:12 BMPread\bmp.dsw
文件 1030 2008-01-17 16:04 BMPread\bmp.h
文件 50176 2008-01-30 11:05 BMPread\bmp.ncb
文件 54784 2008-01-30 11:05 BMPread\bmp.opt
文件 1530 2008-01-30 11:01 BMPread\bmp.plg
文件 33792 2008-01-21 12:07 BMPread\bmpread.ncb
............此处省略27个文件信息
- 上一篇:见过的最好 英语语法讲义
- 下一篇:遗传算法的M文件
相关资源
- bmp2c
- BmpButton
- 基于V4L2的视频采集,能够采集YUVJPE
- AlCl3抑制大鼠骨形成及BMP/Smad信号转导
- ORL_BMP.zip
- BMP位图文件解析
- 编程常用的素材(含png、jif、bmp、j
- jpeglib读取jpeg,转为bmp图,24真彩和灰
- 617张国内车牌60-17bmp图片用于OpenCV正样
- pEGFP-N1/BMP-2真核表达质粒的构建与鉴定
- 简单\“(8bit)Raw图像文件转换为(
- ORL人脸数据集,40个人,共400张bmp格式
- RGB565格式转BMP
- libmp3lame.a(3.100)静态库for iOS支持真
- RATA Raster (BMP) To Allegro (IPF)
- 批量快速将多张bmp图片合并转换为b
- BMP图片读写,24位输入转换成8位输出
- AES加密BMP图片
- yuvtools_v2
- DICOM Explorer
- 数字图像处理测试BMP/JPG图片,图片为
- stm32图片解码
- stm32+JPEG+bmp+RM04_WIFI+二值图像.rar
- BMP2MifCoeHex
- BMP280 硬件SPI驱动程序 STM32F103C8T6
- RATA Raster(BMP) to Allegro(IPF)程序
- BMP图像的信息隐藏
- 基于24位bmp位图的信息隐藏编程
- ppm转化为bmp
- ffmpeg将一个视频文件解码输出bmp和j
评论
共有 条评论