bmp檔案放到vs的資源中時,vs會將bmp的檔案頭去掉,即bitmapfileheader,這個結構體去除。所以當載入bmp到記憶體中時,如果是使用gdi+或是其它解釋庫時,會解析失敗。
所以在讀取bmp資源時,需要加上bitmapfileheader結構體。
// pvresdata 為已經讀入到記憶體的bmp資料。//獲得位圖資訊頭
bitmapinfoheader bmpinfohdr;
copymemory(&bmpinfohdr, pvresdata, sizeof(bitmapinfoheader));
//獲得位圖顏色表中rgbquad結構的個數
long ncolorentries;
switch(bmpinfohdr.bibitcount)
//根據位圖資訊頭建立位**件頭
bitmapfileheader bmpfilehdr;
bmpfilehdr.bftype = 0x4d42; // 'bm'
bmpfilehdr.bfsize = sizeof(bitmapinfoheader) + dwressize;
bmpfilehdr.bfreserved1 = bmpfilehdr.bfreserved2 = 0;
bmpfilehdr.bfoffbits = sizeof(bitmapfileheader) + sizeof(bitmapinfoheader) + sizeof(rgbquad) * ncolorentries;
//寫入位**件頭
//...
// 再寫入 pvresdata
參考:
把redis載入到window服務裡
這兩天在重新做公司內網首頁,資訊都是從別的系統獲取的,產品原來打算直接上靜態頁,jsonp非同步取資料。但是一來jsonp比較坑 一直不喜歡 二來整個頁面的資料都非同步獲取的話,剛剛開啟頁面的時候會空白一片,體驗極其差。所以決定用node.js express redis簡單搞下。今天早晨一直在折騰...
C 將檔案載入到記憶體
filestream fs new filestream strfile,filemode.open byte aa new byte fs.length 1 fs.read aa,0,int fs.length 1 fs.close fs.dispose file.delete strfile w...
MFC選單資源ID載入到對話方塊上
方法1 首先定位到顯示選單欄對話方塊的oninitdialog 函式處,在其函式體裡新增如下 cmenu menu menu.loadmenuw idr menu1 載入資源選單欄,idr menu1為資源檢視裡選單的id this setmenu menu 這個函式將當前選單設為指定的選單。它使視...