int CDib::AlterDibColorsIndex(int destIndex ,int srcIndex){ int i ,t; LPBITMAPINFO lpbmi = (LPBITMAPINFO)GlobalLock(m_hDib); unsigned char* pBytes = FindDIBBits((LPBYTE)lpbmi); unsigned long byteSize = lpbmi->bmiHeader.biHeight * BytesPerLine((LPBYTE)&(lpbmi->bmiHeader)); for(i=0;i<byteSize;i++){ t = pBytes[i]; if(t == destIndex) pBytes[i] = srcIndex; } return UpdateInternal(); }
时间: 2024-04-28 22:26:51 浏览: 54
CDib.zip_CDib_site:www.pudn.com
这段代码是用于修改CDib对象中颜色表的索引值的函数。函数接收两个参数:目标索引和源索引。函数首先锁定CDib对象中的位图信息,然后使用FindDIBBits函数找到位图数据,计算出位图数据的字节数,遍历位图数据中的每一个字节,如果字节的值等于目标索引,则将其替换为源索引。最后函数返回UpdateInternal函数的返回值。UpdateInternal函数的作用是更新CDib对象的内部数据结构。
阅读全文