91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 318KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-09
  • 語言: C/C++
  • 標簽: C??讀取BMP??

資源簡介

本程序用C語言編寫,讀取一個BMP文件,對數字圖像入門的同學來說,具有很好的參考價值,程序運行能通過,里面備好了Lena.bmp圖像,值得一看~~~

資源截圖

代碼片段和文件信息

//author:zheng?jianbin
//ReadBitMap
//
#include???
#include???
#include?
#include?
#include???
#include?


#define???WIDTHBYTES(bits)?(((bits)+31)/32*4)

typedef?unsigned?char?BYTE;
typedef?unsigned?short?WORD;
typedef?unsigned?long?DWORD;
typedef?long?LONG;

typedef?struct?tagBITMAPFILEHEADER?{

DWORD?bfSize;???????????????//文件大小
WORD???bfReserved1;?//保留字,不考慮
WORD???bfReserved2;?//保留字,同上
DWORD?bfOffBits;?????????//實際位圖數據的偏移字節數,即前三個部分長度之和
}?BITMAPFILEHEADER;


//信息頭BITMAPINFOHEADER,也是一個結構,其定義如下:

typedef?struct?tagBITMAPINFOHEADER{
//public:
DWORD???biSize;??????????????????//指定此結構體的長度,為40
LONG????biWidth;????????//位圖寬
LONG????biHeight;???????//位圖高
WORD????biPlanes;????????//平面數,為1
WORD????biBitCount;???????//采用顏色位數,可以是1,2,4,8,16,24,新的可以是32
DWORD???biCompression;???????????//壓縮方式,可以是0,1,2,其中0表示不壓縮
DWORD???biSizeImage;?????????????//實際位圖數據占用的字節數
LONG????biXPelsPerMeter;???//X方向分辨率
LONG????biYPelsPerMeter;???//Y方向分辨率
DWORD???biClrUsed;??????????????????//使用的顏色數,如果為0,則表示默認值(2^顏色位數)
DWORD???biClrImportant;?????????????//重要顏色數,如果為0,則表示所有顏色都是重要的
}?BITMAPINFOHEADER;


//調色板Palette,當然,這里是對那些需要調色板的位圖文件而言的。24位和32位是不需要調色板的。
//(似乎是調色板結構體個數等于使用的顏色數。)

typedef?struct?tagRGBQUAD?{?
//public:
BYTE?????rgbBlue;?//該顏色的藍色分量
BYTE?????rgbGreen;?//該顏色的綠色分量
BYTE?????rgbRed;?//該顏色的紅色分量
BYTE?????rgbReserved;?//保留值
}?RGBQUAD;



void?showBmpHead(BITMAPFILEHEADER*?pBmpHead)
{
printf(“位圖文件頭:\n“);
printf(“文件大小:%d\n“pBmpHead->bfSize);
printf(“保留字:%d\n“pBmpHead->bfReserved1);
printf(“保留字:%d\n“pBmpHead->bfReserved2);
printf(“實際位圖數據的偏移字節數:%d\n“pBmpHead->bfOffBits);

}


void?showBmpInforHead(tagBITMAPINFOHEADER?*pBmpInforHead)
{
printf(“位圖信息頭:\n“);
printf(“結構體的長度:%d\n“pBmpInforHead->biSize);
printf(“位圖寬:%d\n“pBmpInforHead->biWidth);
printf(“位圖高:%d\n“pBmpInforHead->biHeight);
printf(“biPlanes平面數:%d\n“pBmpInforHead->biPlanes);
printf(“biBitCount采用顏色位數:%d\n“pBmpInforHead->biBitCount);
printf(“壓縮方式:%d\n“pBmpInforHead->biCompression);
printf(“biSizeImage實際位圖數據占用的字節數:%d\n“pBmpInforHead->biSizeImage);
printf(“X方向分辨率:%d\n“pBmpInforHead->biXPelsPerMeter);
printf(“Y方向分辨率:%d\n“pBmpInforHead->biYPelsPerMeter);
printf(“使用的顏色數:%d\n“pBmpInforHead->biClrUsed);
printf(“重要顏色數:%d\n“pBmpInforHead->biClrImportant);
}

void?showRgbQuan(tagRGBQUAD*?pRGB)
{?
printf(“(%-3d%-3d%-3d)???“pRGB->rgbRedpRGB->rgbGreenpRGB->rgbBlue);

}



void?main()
{

BITMAPFILEHEADER???bitHead;
BITMAPINFOHEADER?bitInfoHead;?
FILE*?pfile;

char?strFile[50];
printf(“please?input?the?.bmp?file?name:\n“);
scanf(“%s“strFile);

pfile?=?fopen(strFile“rb“);//打開文件

if(pfile!=NULL)
{
???printf(“file?bkwood.bmp?open?success.\n“);
???//讀取位圖文件頭信息
???WORD?fileType;
???fread(&fileType1sizeof(WORD)pfile);
???if(fileType?!=?0x4d42)
???{
????printf(“file?is?not?.bmp?file!“);
????return;
???}
???//fseek(pfile2SEEK_CUR);???//?“BM“
???fread(&bitH

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????66616??2000-07-25?12:00??讀取BMP文件\lena.bmp

?????文件?????233538??2010-08-10?21:59??讀取BMP文件\read_bmp\Debug\read_bmp.exe

?????文件?????236920??2010-08-10?21:59??讀取BMP文件\read_bmp\Debug\read_bmp.ilk

?????文件??????17419??2010-08-10?21:59??讀取BMP文件\read_bmp\Debug\read_bmp.obj

?????文件?????231328??2010-08-10?21:39??讀取BMP文件\read_bmp\Debug\read_bmp.pch

?????文件?????517120??2010-08-10?21:39??讀取BMP文件\read_bmp\Debug\read_bmp.pdb

?????文件??????41984??2010-08-10?22:02??讀取BMP文件\read_bmp\Debug\vc60.idb

?????文件??????53248??2010-08-10?21:39??讀取BMP文件\read_bmp\Debug\vc60.pdb

?????文件??????66616??2000-07-25?12:00??讀取BMP文件\read_bmp\lena.bmp

?????文件???????4309??2010-08-10?22:08??讀取BMP文件\read_bmp\read_bmp.dsp

?????文件????????541??2010-08-10?21:30??讀取BMP文件\read_bmp\read_bmp.dsw

?????文件??????33792??2010-08-10?22:08??讀取BMP文件\read_bmp\read_bmp.ncb

?????文件??????48640??2010-08-10?22:08??讀取BMP文件\read_bmp\read_bmp.opt

?????文件????????900??2010-08-10?21:59??讀取BMP文件\read_bmp\read_bmp.plg

?????文件???????9667??2010-08-10?21:39??讀取BMP文件\read_bmp.cpp

?????目錄??????????0??2010-08-10?21:39??讀取BMP文件\read_bmp\Debug

?????目錄??????????0??2010-08-10?22:08??讀取BMP文件\read_bmp

?????目錄??????????0??2010-08-10?21:59??讀取BMP文件

-----------?---------??----------?-----??----

??????????????1562638????????????????????18


評論

共有 條評論