正在加载图片...
if((hmg Data=Global Alloc(GHND, (DWORD) (sizeof(BI TMAPINFOHEADER)+ Num Colors*sizeof(RGBQUAD) D==NULL ∥分配内存错误 Message Box(hWnd, Error alloc memory! " "Error Message", MB MB ICONEXCLAMATION) return FAlSE;∥)关闭文件,返回 FALSE ∥指针 Iplmg Data指向该内存区 lplmg Data=(LPBITMAPINFOHEADER)GlobalLock(hlmg Data ∥文件指针重新定位到 BITMAPINFOHEADER开始处 llseek(hf, sizeof( BITMAPFILEHEADER) SEEK SET ∥将文件内容读入 lplmg Data hread(hf, (char *)Iplmg Data, long)sizeof( BITMAPINFOHEADER) +(long)Num Colors*sizeof(RGBQUAD)ImgSize) Iclose(hf);∥关闭文件 if( Num Colors!=0)/ Num Colors不为零,说明用到了调色板 ∥.为逻辑调色板分配局部内存,大小为逻辑调色板结构长度加 //Num Colors PALETTENTRY hPal=LocalAlloc(LHND, sizeof(LOGPALETTE)+ Num Colors* sizeof(PALETTEENTRY)) ∥指针pPal指向该内存区 pPal =(LOGPALETTE *)LocalLock(hPal) ∥填写逻辑调色板结构的头 pPal->palNum Entries= Num Color pPal->pal Version=0x300 pRGB指向的是调色板开始的位置 IpRGB=(LPRGBQUAD)((LPSTR)Iplmg Data (DWORD)sizeof( BITMAPINFOHEADER)) ∥填写每一项 for (i=0; i< Num Colors; i++) pPal->palPal[i]- pe Green=lpRGB->rgbGreen;if((hImgData=GlobalAlloc(GHND,(DWORD) (sizeof(BITMAPINFOHEADER)+ NumColors*sizeof(RGBQUAD)+ ImgSize)))==NULL) { //分配内存错误 MessageBox(hWnd,"Error alloc memory!","ErrorMessage",MB_OK| MB_ICONEXCLAMATION); _lclose(hf); return FALSE; //关闭文件,返回 FALSE } //指针 lpImgData 指向该内存区 lpImgData=(LPBITMAPINFOHEADER)GlobalLock(hImgData); //文件指针重新定位到 BITMAPINFOHEADER 开始处 _llseek(hf,sizeof(BITMAPFILEHEADER),SEEK_SET); //将文件内容读入 lpImgData _hread(hf,(char *)lpImgData,(long)sizeof(BITMAPINFOHEADER) +(long)NumColors*sizeof(RGBQUAD)+ImgSize); _lclose(hf); //关闭文件 if(NumColors!=0) //NumColors 不为零,说明用到了调色板 { //为逻辑调色板分配局部内存,大小为逻辑调色板结构长度加 //NumColors 个 PALETTENTRY hPal=LocalAlloc(LHND,sizeof(LOGPALETTE)+ NumColors* sizeof(PALETTEENTRY)); //指针 pPal 指向该内存区 pPal =(LOGPALETTE *)LocalLock(hPal); //填写逻辑调色板结构的头 pPal->palNumEntries = NumColors; pPal->palVersion = 0x300; //lpRGB 指向的是调色板开始的位置 lpRGB = (LPRGBQUAD)((LPSTR)lpImgData + (DWORD)sizeof(BITMAPINFOHEADER)); //填写每一项 for (i = 0; i < NumColors; i++) { pPal->palPalEntry[i].peRed=lpRGB->rgbRed; pPal->palPalEntry[i].peGreen=lpRGB->rgbGreen;
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有