我使用bitmap 先建立了一个存储区 把小图然后一张一张循环加进去
bitmap   bm=new   bitmap(1000,1000);   
Grapchics   g=graphics.fromimage(bm); 
 for (int j = 0; j < hang; j++)
{ Bitmap b1 = new Bitmap(Image.FromFile("j.jpg"));
 g.DrawImage(b1, j * 256, j * 256);
}这样处理少量的图片合成还可以 效果也不错
 
但是在大量的图片合成时  由于bitmap的宽度和高度是int类型比如创建存储区时
bitmap   bm=new   bitmap(100000,100000);宽度高度都大于32767
大量图片的话 就超标了 请教大家这种情况该怎么办,是否还有更好的方法合成n多小图到一个大图?我的小图是有序的 所以只考虑一个一个合并排列起来 不考虑边界问题

解决方案 »

  1.   

    to:yzlz888() 
    这样大的图片你什么样的计算机打开呢?或者没有这样的计算机可以打开这样大的图片呢?
    如果可以确定我的问题,我认为这个方案本身就存在问题。
      

  2.   

    to:cll0320(陈亮亮)
    的确此问题可以通过文件系统解决,问题是什么样的计算机可以打开这样大的图片文件呢?在使用的时候可以不用进行内存操作呢?
      

  3.   

    考虑换思路吧,模仿googlemap,ajax
      

  4.   

    to:yzlz888()
    使用文件的方式就是说你自己去写一个BMP文件,查一下BMP的文件格式,然后一个象素一个象素的写到这个文件里吧。
      

  5.   

    int.maxvalu=4294967296
    LZ多来几万张图都不会超界,前提是你的内存顶得住。