汤懿
汤懿
关注数: 196
粉丝数: 27
发帖数: 47
关注贴吧数: 20
求助!谁能解释下这段程序代码~谢了 height=GetHeight();//图像高 wide=GetWidth();//图像宽, stop=0; counter=0; p_temp=new BYTE[wide*height];//开辟一个临时内存区 memset(p_temp,255,wide*height);//置白 //从左到右、从上到下标号 const int T=5;//T为阈值,RGB值小于该阈值被认为是黑, for(i=0; i<wide; i++)//将第零行置白 *(m_pData+(height-1)*wide+i)=255; for(j=0;j<height;j++)//将第零列置白 *(m_pData+(height-j-1)*wide)=255; 这里的零行置白和零列置白到底怎么算的啊? (height-1)*wide+i 是什么意思啊? 为什么不是用数组矩阵呢? 是和x-y坐标轴类似的排列吗?但是,为什么不是(height-1)*(wide+i )呢?看不懂 高手指点啊!!! 感谢了 这个是图片的导入程序: void CDib::LoadFile(const char* dibFileName) { strcpy(m_fileName,dibFileName); CFile dibFile(m_fileName, CFile::modeRead); dibFile.Read((void*)&bitmapFileHeader,sizeof(BITMAPFILEHEADER)); if (bitmapFileHeader.bfType == 0x4d42) { DWORD fileLength = dibFile.GetLength(); size = fileLength -sizeof(BITMAPFILEHEADER); pDib =(BYTE*)GlobalAllocPtr(GMEM_MOVEABLE, size); dibFile.Read((void*)pDib, size); dibFile.Close(); m_pBitmapInfo = (BITMAPINFO*) pDib; m_pBitmapInfoHeader = (BITMAPINFOHEADER*) pDib; m_pRGB = (RGBQUAD*)(pDib + m_pBitmapInfoHeader->biSize); int m_numberOfColors = GetNumberOfColors(); if (m_pBitmapInfoHeader->biClrUsed == 0) m_pBitmapInfoHeader->biClrUsed = m_numberOfColors; DWORD colorTableSize = m_numberOfColors * sizeof(RGBQUAD); m_pData = pDib + m_pBitmapInfoHeader->biSize + colorTableSize; if (m_pRGB == (RGBQUAD*)m_pData) // No color table m_pRGB = NULL; m_pBitmapInfoHeader->biSizeImage = GetSize(); m_valid = TRUE; } else { m_valid = FALSE; AfxMessageBox("This isn't a bitmap file!"); } }
【求助!】 谁能解释下这段代码 height=GetHeight();//图像高 wide=GetWidth();//图像宽, stop=0; counter=0; p_temp=new BYTE[wide*height];//开辟一个临时内存区 memset(p_temp,255,wide*height);//置白 //从左到右、从上到下标号 const int T=5;//T为阈值,RGB值小于该阈值被认为是黑, for(i=0; i<wide; i++)//将第零行置白 *(m_pData+(height-1)*wide+i)=255; for(j=0;j<height;j++)//将第零列置白 *(m_pData+(height-j-1)*wide)=255; 这里的零行置白和零列置白到底怎么算的啊? (height-1)*wide+i 是什么意思啊? 为什么不是用数组矩阵呢? 是和x-y坐标轴类似的排列吗?但是,为什么不是(height-1)*(wide+i )呢?看不懂 高手指点啊!!! 感谢了 这个是图片的导入程序: void CDib::LoadFile(const char* dibFileName) { strcpy(m_fileName,dibFileName); CFile dibFile(m_fileName, CFile::modeRead); dibFile.Read((void*)&bitmapFileHeader,sizeof(BITMAPFILEHEADER)); if (bitmapFileHeader.bfType == 0x4d42) { DWORD fileLength = dibFile.GetLength(); size = fileLength -sizeof(BITMAPFILEHEADER); pDib =(BYTE*)GlobalAllocPtr(GMEM_MOVEABLE, size); dibFile.Read((void*)pDib, size); dibFile.Close(); m_pBitmapInfo = (BITMAPINFO*) pDib; m_pBitmapInfoHeader = (BITMAPINFOHEADER*) pDib; m_pRGB = (RGBQUAD*)(pDib + m_pBitmapInfoHeader->biSize); int m_numberOfColors = GetNumberOfColors(); if (m_pBitmapInfoHeader->biClrUsed == 0) m_pBitmapInfoHeader->biClrUsed = m_numberOfColors; DWORD colorTableSize = m_numberOfColors * sizeof(RGBQUAD); m_pData = pDib + m_pBitmapInfoHeader->biSize + colorTableSize; if (m_pRGB == (RGBQUAD*)m_pData) // No color table m_pRGB = NULL; m_pBitmapInfoHeader->biSizeImage = GetSize(); m_valid = TRUE; } else { m_valid = FALSE; AfxMessageBox("This isn't a bitmap file!"); } }
百度搜藏改版问题 百度搜藏改版后,没有了“加入搜藏”的选项,感觉很不方便啊~ 希望百度能做出相应的对策啊。
1
下一页