[Mono-dev] Error in Mono but not on IIS: A null reference or invalid value was found [GDI+ status: InvalidParameter]

Matthew Urbano matthew.urbano at trailerpark.com
Mon Oct 18 15:03:55 EDT 2010


Hello Mono world!  I am having a difficult time trying to figure out a way to create an image cropping tool using c# and JQuery's Jcrop plug-in.  I can get the code to work perfectly in plain old .net, but mono gives me the following error:

A null reference or invalid value was found [GDI+ status: InvalidParameter]

Description: HTTP 500. Error processing request.

Stack Trace:

System.ArgumentException: A null reference or invalid value was found [GDI+ status: InvalidParameter]
  at System.Drawing.GDIPlus.CheckStatus (Status status) [0x00000] in <filename unknown>:0
  at System.Drawing.Bitmap.SetResolution (Single xDpi, Single yDpi) [0x00000] in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.Drawing.Bitmap:SetResolution (single,single)
  at Fankit.ProfilePictures.btnCrop_Click (System.Object sender, System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Web.UI.WebControls.Button.OnClick (System.EventArgs e) [0x00000] in <filename unknown>:0
  at System.Web.UI.WebControls.Button.RaisePostBackEvent (System.String eventArgument) [0x00000] in <filename unknown>:0
  at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent (System.String eventArgument) [0x00000] in <filename unknown>:0
  at System.Web.UI.Page.RaisePostBackEvent (IPostBackEventHandler sourceControl, System.String eventArgument) [0x00000] in <filename unknown>:0
  at System.Web.UI.Page.RaisePostBackEvents () [0x00000] in <filename unknown>:0
  at System.Web.UI.Page.ProcessRaiseEvents () [0x00000] in <filename unknown>:0
  at System.Web.UI.Page.InternalProcessRequest () [0x00000] in <filename unknown>:0
  at System.Web.UI.Page.ProcessRequest (System.Web.HttpContext context) [0x00000] in <filename unknown>:0

Here is the code behind:

protected void btnCrop_Click(object sender, EventArgs e)
        {
            string ImageName = CurrentImage.Value;
            string ImageNameOnly = CurrentImage.Value.Substring(CurrentImage.Value.LastIndexOf("/") + 1, CurrentImage.Value.Length - CurrentImage.Value.LastIndexOf("/") - 1);
            int w = Convert.ToInt32(W.Value);
            int h = Convert.ToInt32(H.Value);
            int x = Convert.ToInt32(X.Value);
            int y = Convert.ToInt32(Y.Value);

            string originalFile = Server.MapPath("~/cms/uploads/" + ImageNameOnly);

            using (var photo = System.Drawing.Image.FromFile(Server.MapPath("~/cms/uploads/" + ImageNameOnly)))

            using (var result = new Bitmap(w, h, photo.PixelFormat))
            {
                result.SetResolution(photo.HorizontalResolution, photo.VerticalResolution);

                using (var g = Graphics.FromImage(result))
                {
                    g.InterpolationMode = InterpolationMode.HighQualityBicubic;

                    g.DrawImage(photo, new Rectangle(0, 0, 100, 100),
                         new Rectangle(x, y, w, h),
                         GraphicsUnit.Pixel);

                    photo.Dispose();

                    //result.Save(sp + "crop-" + ImageNameOnly);
                    imgCropped.ImageUrl = "/cms/uploads/crop-" + ImageNameOnly;

                }

            }
         }


It seems like this line is the root of the problem: using (var photo = System.Drawing.Image.FromFile(Server.MapPath("~/cms/uploads/" + ImageNameOnly)))

Is there a way around this error??

--
Matthew Urbano | Web Developer
Trailer Park Interactive
6922 Hollywood Blvd., 7th floor
Hollywood, CA  90028
T: 310-845-3021
M: 305-790-1805
matthew.urbano at trailerpark.com<mailto:matthew.urbano at trailerpark.com>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.ximian.com/pipermail/mono-devel-list/attachments/20101018/91a5535d/attachment.html 


More information about the Mono-devel-list mailing list