假如有两个图片(bmp格式)A,B(尺寸一样),我想从B中剪切一部分作为图片C,然后把C合成到图片A中固定的一个位置,请问应该怎么做,最好有相关链接或源码,如果换成jpeg格式的是否也可以,感谢帮忙啦

解决方案 »

  1.   

    CreateCompatibleDC,SelectObject,BitBlt,看MSDN
    如果剪切的部分不规则,那么建议直接操作位图数据
      

  2.   

    建议楼主看一下BMP的存储结构,很容易实现的
      

  3.   

    bitblt函数,直接将B中选择区复制到A中,不需要C.
    jpg之类文件格式无所谓,你载入之后都是没区别了.图方便就直接用CBitmap类来载入BMP文件.
      

  4.   

    建议楼主用OPENCV来做。首先设置B的ROI,ROI表示的区域即是C,
    然后在A中设置一个ROI,也就是你想覆盖的区域,
    再把C拷贝至A中(这是C和A中的ROI区域肯定是一样大小的了),
    最后取消A的ROI,得到的整幅图A就是你想要的了。这个操作在OPENCV是最简单的了,而且大多格式都支持
      

  5.   

    大图直接操作位图数据.
    或者你看看GetDibIts和SetDibIts函数,函数参数控制分段传输.
      

  6.   

       图像的格式不是问题吧,都转换成bmp格式在内存中保存,然后将选定区域的像素进行复制,然后写入文件,就可以了。
      

  7.   

    用opencv实现吧,不难,设置roi,用cvsetimageroi函数即可实现,也不理睬图像格式