99热这里只有精品2-99热这里只有精品6免费-99热这里只有精品国产99-99热这里只有精品国产99热门精品-99热这里只有精品国产动漫

圖像處理
新聞詳情

位圖文件的保存

發布時間:2021-01-14 16:38:07 最后更新:2021-01-15 11:26:01 瀏覽次數:3374

本文主要介紹如何將處理后的位圖數據從內存保存到磁盤。
位圖文件主要有4部分組成:

1.   文件頭信息

2.   位圖頭信息

3.   調色板 ,在1、8、16位色中存在調試板;在24和32位色中無調色板,直接使用像素各通道的值混合成像素顏色。

4.    位圖的數據
將位圖寫入磁盤文件也就是依次將文件頭信息、位圖頭信息位圖數據,寫到磁盤。由于在24和32位真色彩下,
不需要調色板,這里不對調色板進行處理。

1. 填充文件頭

在Window中結構體BITMAPFILEHEADER代表著文件頭信息,在文件頭信息中有以下三個字段比較重要:

1.   byType,文件類型,必須為0x4D42(BM),表示是位圖文件。

2.   bfSize,文件的大小,也就是文件頭信息、位圖頭信息和位圖數據在一起的大小。

3.    bfOffBits,偏移量,位圖數據相對于文件頭的便宜量。
文件頭信息的填充如下:

	BITMAPFILEHEADER fileHeader;
	fileHeader.bfType = 0x4d42; // BM
	fileHeader.bfReserved1 = 0;
	fileHeader.bfReserved2 = 0 ;
	fileHeader.bfSize = width * height * depth + sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);
	fileHeader.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) ;

其中,depth是像素深度也就是每個像素所占用的字節數(24位是3,32位為4)。bfReserved1和bfReserved2是保留字段,填充為0.

2. 填充位圖頭信息

位圖頭信息包含了位圖的長寬、顏色格式等信息,其對應的結構體為BITMAPINFOHEADER,其重要的字段如下:

1.   biBitCount 每個像素所占用的位數

2.   biCompression 壓縮方法,對于位圖文件一般設置為0,不壓縮。

3.   width、height位圖的寬和高

4.    biSizeImage 位圖數據的大小 width * height *biBitCount / 8
具體的填充如下:

	BITMAPINFOHEADER infoHeader;
	infoHeader.biBitCount = depth * 8;
	infoHeader.biClrImportant = 0;
	infoHeader.biClrUsed = 0;
	infoHeader.biCompression = 0 ;
	infoHeader.biHeight = height;
	infoHeader.biWidth = width;
	infoHeader.biPlanes = 1;
	infoHeader.biSize = sizeof(BITMAPINFOHEADER);
	infoHeader.biSizeImage = width * height * depth;
	infoHeader.biXPelsPerMeter = 3779;
	infoHeader.biYPelsPerMeter = 3779;

3. 寫文件到磁盤

填充后各部分信息后,依次寫入到磁盤即可。

	if(file.Open(filePath,CFile::modeCreate | CFile::modeWrite))
	{
		file.Write(&fileHeader,sizeof(BITMAPFILEHEADER));
		file.Write(&infoHeader,sizeof(BITMAPINFOHEADER));
		file.Write(imageBuffer,width * height * depth);
		file.Close();
		return true;
	}

了解位圖的存儲格式后,將位圖保存到磁盤還是挺簡單的,這里是基于Windows SDK的實現,有機會要自己定義各部分的結構體,實現位圖文件的讀寫。

在線客服 雙翌客服
客服電話
  • 0755-23712116
  • 13310869691
主站蜘蛛池模板: 欧美一级网址| 欧美午夜a级精美理论片| 影音先锋5566手机在线播放 | 国产三级精品三级| 一区二区在线| 久久青青草原精品国产麻豆| 成人永久免费| 国产三级在线观看a| 麻豆19禁国产青草精品| 久久97超级碰碰碰| 亚洲国产成人久久精品影视| 久久91精品国产99久久yfo| 我要看欧美精品一级毛片| 国产精品欧美日韩精品| 边做边摸边揉的免费视频| 美国一级大黄一片免费网站 | 婷婷六| 91免费国产| 三级毛片网站| 日本一区二区不卡在线| 午夜国产精品不卡在线观看| 在线观看久草视频| 全免费午夜一级毛片一级毛| 欧美一区二区三区东南亚 | 欧美一区二区三区久久综合| 亚洲精品国产第一综合99久久| 91桃色视频在线观看| 一级aaaaaa毛片免费| 久青草久青草高清在线播放| 日韩欧美中文字幕在线视频| 亚洲欧美日韩综合在线一区二区三区| 成人精品福利| 男女一级做片a性视频| 免费看黄色大片| 欧美a级黄色片| 欧美一级毛片免费观看视频| 国内免费自拍视频| 国内自拍亚洲| 欧美高清免费一级在线| 国内精品线在线观看| 国内精品视频一区二区三区八戒|