项目需要将一个bmp图片切割成若干块,发现自己写的算法老是不对,求高手帮忙提供一段算法/--------------------------------------------------------------------/
/*
@brief: 将图像分割成nRow行,nCol列
@param [in] pDibData 位图的原始数据,不包含位图文件头,信息头,调色板信息的数据
@param [in] nRow 切割的行数
@param [in] nCol 切割的列数
@return BOOL 操作是否成功
BOOL Divide(BYTE *pDibData, int nRow, int nCol)/--------------------------------------------------------------------/
/*
@brief: 将图像分割成nRow行,nCol列
@param [in] pDibData 位图的原始数据,不包含位图文件头,信息头,调色板信息的数据
@param [in] nRow 切割的行数
@param [in] nCol 切割的列数
@return BOOL 操作是否成功
BOOL Divide(BYTE *pDibData, int nRow, int nCol)/--------------------------------------------------------------------/
m_ImageList.Create(MAKEINTRESOURCE(IDB_IMAGES), 16, 1, RGB(255,255,255));//把一副位图分割成多份资源. 第二个参数就是分割后的每个小图的像素宽度.
我是把一幅大的BMP图像进行切割啊,你这个方法应该不行吧。
对每一行图像进行处理,每一行进行分块,然后计算当前行所处的块序号,再利用内存拷贝,
将该行中的分块内容分别存储到预先准备好的内存块中。最后写bmp文件的文件头,信息头,数据,将切割好的图片保存就可以了。