MyException - 我的异常网
当前位置:我的异常网» VC/MFC » 怎么将两幅大图像顺序拼接

怎么将两幅大图像顺序拼接

www.MyException.Cn  网友分享于:2013-02-20  浏览:13次
如何将两幅大图像顺序拼接
两个图片大小都是2080*50688 的jpg文件,如何顺序拼接到一起
我是新手,最好给代码,或类的具体使用方法

------解决方案--------------------
GDI和GDI+基本无法实现,因为拼合后的图像占用的内存达到600MB,WINDOWS在一般情况下很难分配这么大的一片连续的内存。
------解决方案--------------------
1 两个JPG转成位图文件,用虚拟内存做映射(现在物理内存都很大,直接new应该也够了)。再生成一个新的BMP文件,注册BITMAPINFOHEADER和BITMAPFILEHEADER.
2 假设两个图是横向拼,最直接的方法就是读两图的第一行,拼成一行,存到一个新文件里的第一行。然后再读第二行。
3 如果两个图是纵向拼,那就不用费事了,把A图数据放到新文件,再接着放B图的。
4 以上两种情况,BITMAPFILEHEADER是不同的。
然后,再把这个位图文件转成JPG文件。
文件转换可以用转件来实现,也可以调用开源的libjpeg库。除了这个,两图拼接就是两个数组拼接,用任何语言都很容易实现。

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有