我定义了一个 Bitmap
Dim Desktop As Bitmap 当处理结束后要将生成的图形保存为 GIF
使用
Desktop.Save(Filename, System.Drawing.Imaging.ImageFormat.Gif)
却显示错误问,如何才能保存这个动态生成的图像?

解决方案 »

  1.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=221BC601-1A1B-4E1F-883D-04B043659703
      

  2.   

    因为你是Save到服务器上,这里需要注意一个写文件的权限问题。不知道你那边是什么问题?提示什么错误?
      

  3.   

    TO  renyu732:我要保存到服务器上而不是输出到客户端
    TO  qiuji(忆秋季) :GDI+ 中发生一般性错误。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Runtime.InteropServices.ExternalException: GDI+ 中发生一般性错误。源错误: 
    行 162:                tmpFilename = Replace(Replace(Replace(Now.ToString, ":", ""), " ", "") & CInt(Rnd() * 1000) & ".gif", "-", "")
    行 163:                tmpFilename = HttpContext.Current.Server.MapPath("temp/" & tmpFilename)
    行 164:                Desktop.Save(tmpFilename, System.Drawing.Imaging.ImageFormat.Gif)
    行 165:
    行 166:
     源文件: C:\web\txt2gif\t2g.aspx.vb    行: 164 堆栈跟踪: 
    [ExternalException (0x80004005): GDI+ 中发生一般性错误。]
       System.Drawing.Image.Save(String filename, ImageCodecInfo encoder, EncoderParameters encoderParams)
       System.Drawing.Image.Save(String filename, ImageFormat format)
       txt2gif.mySMS.DrawGif(String& Text) in C:\web\txt2gif\t2g.aspx.vb:164
       txt2gif.mySMS.GetGif(String Text) in C:\web\txt2gif\t2g.aspx.vb:180
       txt2gif.t2g.Page_Load(Object sender, EventArgs e) in C:\web\txt2gif\t2g.aspx.vb:33
       System.Web.UI.Control.OnLoad(EventArgs e)
       System.Web.UI.Control.LoadRecursive()
       System.Web.UI.Page.ProcessRequestMain() 
    读写权限我在 IIS 里全开了,我可以通过System.IO.FileStream正常建立和读出文件。
    是不是还要做什么设置?
      

  4.   

    语法没错,应该就是写权限的问题了
    给你要保存图片的目录添加ASPNET用户的读写权限
      

  5.   

    tmpFilename = HttpContext.Current.Server.MapPath("temp/" & tmpFilename)
    跟踪一下这里的tmpFilename 的值是什么?
    或者把你的前面的代码贴出来看看。