圖標文字顏色怎么改(圖標文件格式)

導讀您好,現在軟糖來為大家解答以上的問題。圖標文字顏色怎么改,圖標文件格式相信很多小伙伴還不知道,現在讓我們一起來看看吧!1、圖標文件格...

您好,現在軟糖來為大家解答以上的問題。圖標文字顏色怎么改,圖標文件格式相信很多小伙伴還不知道,現在讓我們一起來看看吧!

1、圖標文件格式圖標文件(*.ico)由圖標文件頭、圖片入口數據和圖片數據三個部分組成,這三個部分的具體結構如下:1.圖標文件頭圖標文件頭包括三個部分6個字節,他們分別是數據類型字節含義說明WORD2保留字段(wReserved)必須0WORD2文件類型(wType)必須1WORD2圖片數量(wCount)表示該圖標文件包含多少個圖片2.圖片入口接下來是wCount個“圖片入口”數據。

2、每個“圖片入口”數據結構如下:數據類型字節含義說明BYTE1圖像寬度(bWidth)單位:像素。

3、256px的圖片該值為0BYTE1圖像高度(bHeight)同上BYTE1顏色數(bClrCount)不重要BYTE1保留字段(bReserved)必須為0WORD2平面數(wPlanes)一般為1WORD2比特數(wBitCount)顏色深度,取值4位、8位、24位和32位DWORD4數據大小(dwImageSize)對應圖片數據占用的字節數DWORD4數據位置(dwOffset)對應圖片數據在文件中的位置3.圖片數據對于256X256像素的圖片,在文件中存儲的格式是PNG,只要將整個PNG文件寫在數據區就可以了,對應前面的圖片入口的數據大小(dwImageSize)也是PNG文件的大小。

4、但是XP操作系統不認該圖片。

5、對于其他圖片,該區域存放了一個目標顏色深度(wBitCount)的數據位圖后面跟一個對應的遮罩位圖。

6、系統在繪制圖標時會先將遮罩位圖與目標設備“與”拷貝(SRCAND),然后在把數據位圖與目標設備“異或”拷貝(SRCINVERT)。

7、數據位圖的顏色深度可以是4位16色、8位256色、24位真彩色或32位帶Alpha通道。

8、需要注意的是就算是32位帶Alpha通道的位圖也是需要遮罩位圖的。

9、遮罩位圖是一個1位顏色深度的2值位圖,有圖像的位置填0,透明的位置填1。

10、數據位圖的結構與普通位圖結構基本相似,但是缺少14位的位圖文件頭。

11、具體包含位圖信息頭、顏色表(只有4位和8位的位圖才會有,4位的位圖顏色表長度為16X4=64字節,8位的位圖顏色表長度為256X4=1024字節)和數據區。

12、位圖信息頭結構如下:數據類型字節含義說明DWORD4結構大小(biSize)固定為40LONG4圖像寬度(biWidth)單位:像素LONG4圖像高度(biHeight)單位:像素。

13、由于還有遮罩因此要X2WORD2平面數(biPlanes)一般為1WORD2比特數(biBitCount)顏色深度,取值4位、8位、24位和32位DWORD4壓縮(biCompression)一般為0DWORD4數據大小(biSizeImage)LONG4分辨率(biXPelsPerMeter)LONG4分辨率(biYPelsPerMeter)DWORD4使用顏色(biClrUsed)DWORD4重要顏色(biClrImportant)獲取數據位圖可以用如下辦法:先利用CImage類創建一個目標大小和顏色深度的位圖。

14、注意:4位和8位的位圖需要設置顏色表,不然無法從源圖片復制數據,顏色表可以采用固定的數據。

15、32位位圖需要開啟Alpha通道,不然無法復制Alpha通道的數據。

16、然后利用CImage::GetDC、CImage::ReleaseDC、CImage::GetPixelAddress和CImage::Draw等函數從源圖復制圖像數據到該位圖。

17、接著將該位圖保存到一個臨時位圖文件中。

18、從該文件中讀取。

本文就為大家分享到這里,希望小伙伴們會喜歡。

免責聲明:本文由用戶上傳,如有侵權請聯系刪除!