项目需要将一个bmp图片切割成若干块,发现自己写的算法老是不对,求高手帮忙提供一段算法/--------------------------------------------------------------------/
  /*
    @brief: 将图像分割成nRow行,nCol列
    @param [in] pDibData 位图的原始数据,不包含位图文件头,信息头,调色板信息的数据
    @param [in] nRow 切割的行数
    @param [in] nCol 切割的列数
    @return BOOL 操作是否成功
    BOOL Divide(BYTE *pDibData, int nRow, int nCol)/--------------------------------------------------------------------/

解决方案 »

  1.   

    用CImageList很方便.
    m_ImageList.Create(MAKEINTRESOURCE(IDB_IMAGES), 16, 1, RGB(255,255,255));//把一副位图分割成多份资源.  第二个参数就是分割后的每个小图的像素宽度.
      

  2.   


    我是把一幅大的BMP图像进行切割啊,你这个方法应该不行吧。
      

  3.   

    看看opencv吧,应该只是数据的简单复制吧
      

  4.   

    自己 写算法解决了,花了一天的功夫,效率比较低。预先准备N块内存区域,利用map标记好块序号和数据之间的对应关系。
    对每一行图像进行处理,每一行进行分块,然后计算当前行所处的块序号,再利用内存拷贝,
    将该行中的分块内容分别存储到预先准备好的内存块中。最后写bmp文件的文件头,信息头,数据,将切割好的图片保存就可以了。
      

  5.   

    yes, I recomment "opencv" too