Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Best way to render System.Drawing.Image in ASP.NET MVC 3 View

I have an object of type System.Drawing.Image and would like to display this image in a view. What would be the best way to do this?

I have found some custom Html Helper methods that might fit the situation. Also found an example that uses a new action method that returns a FileContentResult in order to pull something like this off. I would like to know what technique is best and easiest to implement.

EDIT

To be more specific, I have the image in a System.Drawing.Image variable in the Controller that I want to display in the view.

like image 930
d456 Avatar asked Jul 18 '12 17:07

d456


1 Answers

public ActionResult GetImg()
{
    string imageFile = System.Web.HttpContext.Current.
                                 Server.MapPath("~/Content/tempimg/unicorn.jpg");
    var srcImage = Image.FromFile(imageFile);
    using (var streak = new MemoryStream())
    {
      srcImage.Save(streak, ImageFormat.Png);
      return File(streak.ToArray(), "image/png");
    }     
}

Now you can call it in a view like this

<img src="@Url.Action("GetImg","YourControllerName")"  alt="alt text"/>
like image 76
Shyju Avatar answered Nov 09 '22 09:11

Shyju