图标文件格式之带透明通道的图标
在Windows XP中引入了帶8位透明通道的圖標,而在這之前,只有一個稱為mask的1位透明通道.>在ICO文件中帶透明透明通道的圖像很簡單,因為ICO格式支持0RGB 32bpp的圖像,那么只需要改成ARGB 32bpp就可以支持透明通道了.>當窗口管理器看到一個32bpp的圖標,它會檢查一遍透明通道,如果所檢查的值都是0,則認為是0RGB格式,否則就認為是ARGB格式了,文件其他的部分保持不變.>三種常見的繪制帶透明通道的圖檔的方法:>1.DrawIcon(DI_NORMAL): 最常見的調用,對于有透明通道的情況下,則將image和目的圖像alpha混合.>2.DrawIcon(DI_IMAGE): 將圖標中image部分覆蓋到目標上.>3.DrawIcon(DI_MASK): 只繪制圖標中的mask副本,并覆蓋到目標上.>DI_IMAGE和DI_MASK選項讓應用程序能夠繪制圖標中兩個圖像中的其中一個.這樣應用程序可以更好的控制圖標的繪制流程.>例如:他們可以通過mask給圖標加一個陰影,mask表示圖標的那部分是不透明的,需要產生陰影.>在Windows Vista之后引入了PNG格式圖標,使用png格式之后可以舍去mask掩碼這個數據了,圖標的透明通道直接由png來提供的透明通道來提供,如此,圖標格式反而變得簡單一些了,只需要填寫好ICONDIR和ICONDIRENTRY再加上png數據就可以了.
總結
以上是生活随笔為你收集整理的图标文件格式之带透明通道的图标的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图标文件格式之彩色图标
- 下一篇: sublime text3 字体大小设置