當前位置:編程學習大全網 - 編程語言 - 程序梯度

程序梯度

bool saveBmp3(char *bmpName)

{

//以二進制寫入模式打開文件。

FILE *fp=fopen(bmpName,“WB”);

if(fp==0)返回0;

int w = 1;

int h = 1;

int bibitcount = 4;

int line byte = 4;

int colortablesize = 64

BITMAPFILEHEADER文件頭;

filehead . BF type = 0x4d 42;

filehead . bfreserved 1 = 0;

file head . BF reserved 2 = 0;

file head . bfsize = sizeof(bitmapfile header)+sizeof(BITMAPINFOHEADER)+colortablesize+line byte * h;

//bfOffBits是圖像文件前三部分所需空間的總和。

filehead . bfoffbits = 14+40+color tablesize;

//將文件頭寫入文件

fwrite(& amp;filehead,sizeof(BITMAPFILEHEADER),1,FP);

BITMAPINFOHEADER頭;

head.biBitCount = bibitcount

head . bicl important = 0;

head . biclrsered = 0;

head . bicompression = 0;

head . BIH height = h;

head . biplanes = 1;

head.biSize = 40

head . bisize image = line byte * h;

head . bi width = w;

head . bixpelspermeter = 0;

head . biypelspermeter = 0;

//將位圖信息寫入內存。

fwrite(& amp;head,sizeof(BITMAPINFOHEADER),1,FP);

RGBQUAD * pcolortable

pcolortable = new RGBQUAD[16];

int t = 15;

for(int I = 0;我& lt16;i++)

{

pcolortable[i]。rgbReserved = 0;

pcolortable[i]。RGB blue = I * t;

pcolortable[i]。RGB green = 0;

pcolortable[i]。rg bred = I * t;

}

fwrite(pcolortable,sizeof(RGBQUAD),16,FP);

無符號char * pbmpbuf

pbmpbuf = new unsigned char[line byte * h];

pbmpbuf[0]= 35;

pbmpbuf[1]= 35;

//pbmpbuf[4]= 69;

//pbmpbuf[5]= 103;

//pbmpbuf[8]= 137;

//pbmpbuf[9]= 171;

//pbmpbuf[12]= 205;

//pbmpbuf[13]= 239;

//for(I = 0;我& lt16;i++)

//pbmpbuf[I]= 199;

//將位圖數據寫入文件

fwrite(pbmpbuf,h*linebyte,1,FP);

//關閉文件

fclose(FP);

返回1;

}

我要去上課了,不看妳的節目了。以上是我寫的壹個寫BMP文件的程序。看,這沒問題。

//寫文件頭

fout . write((char *)& amp;bitmapInfoHead,sizeof(bitmapfile header));

妳錯了,是寫文件頭信息BITMAPINFOHEADER。

  • 上一篇:davis阻力公式
  • 下一篇:改善切削加工性的方法
  • copyright 2024編程學習大全網