Bitmap newImg = new Bitmap(51200, 51200)
而参数的类型是Int32 ,所以在数值的范围上一定是没有超过的  不知道为什么总报错,不能编译。
或者 谁用C# 生成一张大图片
宽度  51200像素
长度  51200像素
水平分辨率 96DPI
垂直分辨率 96DPI
位深度     32这样一张图片的代码。  谢谢啊~!

解决方案 »

  1.   

    你知道Bitmap newImg = new Bitmap(51200, 51200) 需要多少内存吗?
    51200*51200*4  =9.7G..... 
      

  2.   


    使用FileStream 写文件头和文件的内容到本地磁盘里.
      

  3.   

    我试过的,但我的本意是将N多512*512 的小图拼接到这个大图中,首先用你说的那种方法我不是没想过,可能我的方向有问题,我想的是通过图片的二进制内容写入,将二进制中图像数据那一块给改掉。不管能不能实现这个问题 ,过会都给结贴给你分,你说的正是我想的。可是我用FileStream生成不了这样的大图,如果可以的话,能不能帮我贴个代码给我看看。 
      

  4.   

       FileStream _NewFileStream = new FileStream(@"E:\1.Dat",FileMode.Create, FileAccess.Write);
                _NewFileStream.WriteByte(0);
                _NewFileStream.Close();
              
            
                byte[] _Byte = new byte[1024 * 1024];            for (int i = 0; i != 4000; i++)
                {
                    FileStream _FileStream = new FileStream(@"E:\1.Dat", FileMode.Append, FileAccess.Write);
                    _FileStream.Write(_Byte, 0, _Byte.Length);
                    _FileStream.Close();
                }我这里只能写4G  我的硬盘没有10G的空间..只有4G这样写不行...你可以写一半停下 Application.DoEvents();
      

  5.   

    但是这样能生成我上面那样标准的图片吗?
    宽度  51200像素
    长度  51200像素
    水平分辨率 96DPI
    垂直分辨率 96DPI
    位深度    32 
    抛开像素值不说其他的,其他的是不是还有点问题,而且我要生成是jpg或者bmp这样特定格式的图片
      

  6.   

    你的自己写文件头..BMP是没问题的  JPG 这个估计够复杂的
      

  7.   

    恩   同样是1024*1024 的图片   bmp 有3M多,jpg只有七、八十K  算了估计生成这样的图片太麻烦了,PS不能生成30000像素以上的。上次生成的一张153600*512的图片 还是头改了个开源图像程序才给我打开的,别的都不识别了。    等等吧    看还有没有人来,没人就结了。