正在加载图片...
Message Box(hWnd, "Error alloc memory! ", "Error Message", MB OK MB ICONEXCLAMATION) return False Int BufSize=(DWORD)bi. biHeight*Line Bytes*sizeof(int) if( hInt Buf= LocalAlloc( LHND IntBufsize)= NULL)//int类型的缓冲区 Message Box(hWnd, "Error alloc memory!","Error Message", MB OK MB ICONEXCLAMATION LocalFree(hTemplmg Data) eturn false. oImg Data( LPBITMAPINFOHEADER)GlobalLock(hlmg Data) IpTemplmg Data=(LPBITMAPINFOHEADER)LocalLock(hTemplmg Data lpInt Buf(int*)LocalLock(hInt Buf); ∥拷贝头信息 memcpy(lp Templmg Data, Iplmg Data, OffBits) ∥将图象数据拷贝到int类型的缓冲区中 for(y=0; y<bi. biHeight; y++)1 lpPtr=(char *)lplmg Data+(BufSize-LineBytes-y*Line Bytes); lpInt Ptr=(int*)lpInt Buf+(bi. biHeight-1-y)Line Bytes, for(x=0; x<bi bi Width; x++) *(IpIntPtr++)=(unsigned char )(IpPtr++) for(y=0; y<bi. biHeight; y++)( for(x=0 X<bi bi width, x++)4 lpIntPtr=(int *)lpInt Buf+(bi. biHeight-1-y)Line Bytestx if(num>128){∥128是中值 打白点 oat)(num-2550);∥)计算误差 pIntAt=0;/打黑点 um,∥计算误差 if(xbi. bitwidth-1){∥注意判断边界{ MessageBox(hWnd,"Error alloc memory!","Error Message",MB_OK| MB_ICONEXCLAMATION); return FALSE; } IntBufSize=(DWORD)bi.biHeight*LineBytes*sizeof(int); if((hIntBuf=LocalAlloc(LHND,IntBufSize))==NULL) //int 类型的缓冲区 { MessageBox(hWnd,"Error alloc memory!","Error Message",MB_OK| MB_ICONEXCLAMATION); LocalFree(hTempImgData); return FALSE; } lpImgData=(LPBITMAPINFOHEADER)GlobalLock(hImgData); lpTempImgData=(LPBITMAPINFOHEADER)LocalLock(hTempImgData); lpIntBuf=(int *)LocalLock(hIntBuf); //拷贝头信息 memcpy(lpTempImgData,lpImgData,OffBits); //将图象数据拷贝到 int 类型的缓冲区中 for(y=0;y<bi.biHeight;y++){ lpPtr=(char *)lpImgData+(BufSize-LineBytes-y*LineBytes); lpIntPtr=(int *)lpIntBuf+(bi.biHeight-1-y)*LineBytes; for(x=0;x<bi.biWidth;x++) *(lpIntPtr++)=(unsigned char)*(lpPtr++); } for(y=0;y<bi.biHeight;y++){ for(x=0;x<bi.biWidth;x++){ lpIntPtr=(int *)lpIntBuf+(bi.biHeight-1-y)*LineBytes+x; num=(unsigned char)*lpIntPtr; if ( num > 128 ){ //128 是中值 *lpIntPtr=255; //打白点 e=(float)(num-255.0); //计算误差 } else{ *lpIntPtr=0; //打黑点 e=(float)num; //计算误差 } if(x<bi.biWidth-1){ //注意判断边界
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有