2012-07-18 129 views
7

我有一个System.Drawing.Image类型的对象,并希望在视图中显示此图像。什么是最好的方法来做到这一点?在ASP.NET MVC 3中呈现System.Drawing.Image的最佳方式查看

我发现了一些可能适合这种情况的自定义Html Helper方法。还发现了一个使用新的动作方法的例子,该方法返回一个FileContentResult以便将这种情况关闭。我想知道什么技术最好,最容易实现。

EDIT

更具体地,我在我想在视图中显示的控制器A为System.Drawing.Image可变的图像。

回答

11
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"); 
    }  
} 

现在,你可以把它在一个视图这样

<img src="@Url.Action("GetImg","YourControllerName")" alt="alt text"/> 
+0

我的图像中,我想在视图中显示控制器System.Drawing.Image对象变量。我想避免必须保存到实际的图像文件,以便在可能的情况下显示图像。 – d456 2012-07-18 18:57:32

+0

然后你可以简单地前两行。名为src的变量的类型为Drawing.Image。所以在我的答案 – Shyju 2012-07-18 18:58:53

+2

谢谢你使用你的变量名称(其中有图像),而不是srcImage。那就是我当时正在寻找的东西。 – d456 2012-07-18 20:16:01

相关问题