• 大小: 683.05 KB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-08-13
  • 语言: 其他
  • 标签: BMP  

资源简介

读出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个文件信息

评论

共有 条评论