正在加载图片...
f=(float) (IpIntPtr+1) ( lpInt Ptr+1)=(int)f,∥向左传播 if(y<bi. heIght-1){∥注意判断边界 =(float)*(IpIntPtr-Line Bytes) f+=(foat(3.08.0)*e), ( IpIntPtr-LineBytes))=(int)f,∥向下传播 f=(float)*(IpIntPtr-Line Bytes+1) ( IpIntPtr- LineBytes+1)=(int)f,∥向右下传播 人int类型的缓冲区拷贝到char类型的缓冲区 for(y=0; y<bi. biHeight; y++)( IpTempPtr=(char * )Ip Templ lpIntPtr=(int *)lpInt Buf+(bi. biHeight-l-y)*Line Bytes, for(x=0; X<bi bi Width, x++)i tempnum=*(lpIntPtr++) 55)te *(pTempPtr++ (unsigned char )tempnum if(hBitmap l=NULL) hDc=GetDC(hWnd) ∥产生新的位图 hBitmap=CreateDIBitmap(hDc, (LPBITMAPINFOHEADER)lpTemplmg Data, (LONG)CBM INIT sizeof( BITMAPINFOHEADER)+ Num Colors*sizeof( RGBQUAD) (LPBITMAPINFO)IpTemplmg Data DIB RGB COLORS) hf- creat("c: I\steinberg. bmp",O Iwrite(hf, (LPSTR)&bf, sizeof( BITMAPFILEHEADER))f=(float)*(lpIntPtr+1); f+=(float)( (3.0/8.0) * e); *(lpIntPtr+1)=(int)f; //向左传播 } if(y<bi.biHeight-1){ //注意判断边界 f=(float)*(lpIntPtr-LineBytes); f+=(float)( (3.0/8.0) * e); *(lpIntPtr-LineBytes)=(int)f; //向下传播 f=(float)*(lpIntPtr-LineBytes+1); f+=(float)( (1.0/4.0) * e); *(lpIntPtr-LineBytes+1)=(int)f; //向右下传播 } } } //从 int 类型的缓冲区拷贝到 char 类型的缓冲区 for(y=0;y<bi.biHeight;y++){ lpTempPtr=(char *)lpTempImgData+(BufSize-LineBytes-y*LineBytes); lpIntPtr=(int *)lpIntBuf+(bi.biHeight-1-y)*LineBytes; for(x=0;x<bi.biWidth;x++){ tempnum=*(lpIntPtr++); if(tempnum>255) tempnum=255; else if (tempnum<0) tempnum=0; *(lpTempPtr++)=(unsigned char)tempnum; } } if(hBitmap!=NULL) DeleteObject(hBitmap); hDc=GetDC(hWnd); //产生新的位图 hBitmap=CreateDIBitmap(hDc,(LPBITMAPINFOHEADER)lpTempImgData, (LONG)CBM_INIT, (LPSTR)lpTempImgData+ sizeof(BITMAPINFOHEADER)+ NumColors*sizeof(RGBQUAD), (LPBITMAPINFO)lpTempImgData, DIB_RGB_COLORS); hf=_lcreat("c:\\steinberg.bmp",0); _lwrite(hf,(LPSTR)&bf,sizeof(BITMAPFILEHEADER));
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有