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

資源簡介

單純用C語言,而不是C++實現的數字圖像處理。這里只是拋磚引玉,所以,只做了用C語言讀入位圖、保存位圖等。當然包括獲得位圖的各種信息。
在VC6.0下,無誤通過編譯。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?

#include?“BMP.h“

BITMAPFILEHEADER?bmfh;
BITMAPINFOHEADER?bmih;
BYTE?*imgData;
bool?bReadBMFH=false;
bool?bReadBMIH=false;
bool?bReadPixel=false;

//檢查路徑是否合法:文件能打開;以bmp為后綴名
int?CheckFilePath(char?*filepath);
//讀入位圖的文件頭
int?ReadFileHeader(char?*filepathBITMAPFILEHEADER?*bmfh);
//打印位圖的文件頭
void?PrintFileHeader(BITMAPFILEHEADER?*bmfh);
//讀入位圖的信息頭
int?ReadInfoHeader(char?*filepathBITMAPINFOHEADER?*bmih);
//打印位圖的信息頭
void?PrintInfoHeader(BITMAPINFOHEADER?*bmih);
//創建8位位圖的調色板
int?CreatePalette(RGBQUAD?pal[]);
//讀入位圖的像素數據
int?ReadPixelData(char?*filepathBYTE?*imgData);
//計算每行像素所占的字節數
LONG?GetLineBytes(int?imgWidthint?bitCount);
//打印位圖的像素數據
void?PrintPixelData(BYTE?*imgDataint?widthint?heightint?bitCount);
//打印菜單選項
void?PrintMenu();
//另存為位圖
int?SaveAsImage(char?*filepath);
//顯示位圖
void?ShowImage(char?*?filepath);

int?main()
{
char?filepath[256];
char?saveasfilepath[256];
int?i;
int?width;
int?height;
int?bitCount;
DWORD?dwLineBytes;
int?select;
int?q=0;

system(“echo?off“);
system(“color?2“);

printf(“-----------TIMimage-----------\n“);
printf(“Input?the?path?of?the?BMP?file:\n“);
gets(filepath);

i=CheckFilePath(filepath);
if(i==-1)
{
return?-1;
}

do?
{
PrintMenu();
scanf(“%u“&select);

switch(select)
{
case?0:
{
printf(“Input?the?path?of?the?BMP?file:\n“);
scanf(“%s“filepath);
CheckFilePath(filepath);
break;
}
case?1:
{
i=ReadFileHeader(filepath&bmfh);
if(i!=-1)
{
printf(“Read?the?file?header?successfully.\n“);
bReadBMFH=true;
break;
}
else
{
printf(“Read?the?file?header?failed.\n“);
bReadBMFH=false;
q=1;
break;
}
}
case?2:
{
i=ReadInfoHeader(filepath&bmih);
if(i!=-1)
{
printf(“Read?the?info?header?successfully.\n“);
bReadBMIH=true;
break;
}
else
{
printf(“Read?the?info?header?failed.\n“);
bReadBMIH=false;
q=1;
break;
}
}
case?3:
{
if(!bReadBMIH)
{
printf(“Please?read?the?info?header?at?first.\n“);
break;
}
height=bmih.biHeight;
width=bmih.biWidth;
bitCount=bmih.biBitCount;
dwLineBytes=GetLineBytes(widthbitCount);
imgData=(BYTE*)malloc(dwLineBytes*height*sizeof(BYTE));
if(!imgData)
{
printf(“Can?not?allocate?memory?for?the?image.\n“);
q=1;
break;
}
i=ReadPixelData(filepathimgData);
if(i==-1)
{
printf(“Read?the?pixel?data?failed.\n“);
bReadPixel=false;
q=1;
break;
}
else
{
printf(“Read?the?pixel?data?successfully.\n“);
bReadPixel=true;
break;
}
}
case?4:
{
if(bReadBMFH)
{
PrintFileHeader(&bmfh);
break;
}
else

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

?????文件????????959??2009-03-05?13:45??TIMimage\BMP.h

?????文件??????15788??2009-03-05?20:40??TIMimage\TIMimage.cpp

?????文件???????4382??2009-03-05?13:40??TIMimage\TIMimage.dsp

?????文件????????548??2009-03-05?11:04??TIMimage\TIMimage.dsw

?????文件??????58368??2009-03-05?20:48??TIMimage\TIMimage.ncb

?????文件??????48640??2009-03-05?20:48??TIMimage\TIMimage.opt

?????文件???????1254??2009-03-05?20:40??TIMimage\TIMimage.plg

?????目錄??????????0??2009-03-05?20:48??TIMimage

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

???????????????129939????????????????????8


評論

共有 條評論