2012-07-18 3 views
7

私はSystem.Drawing.Image型のオブジェクトを持っており、このイメージをビューに表示したいと考えています。これを行う最善の方法は何でしょうか?ASP.NET MVC 3でSystem.Drawing.Imageをレンダリングする最善の方法View

状況に合ったカスタムのHTMLヘルパーメソッドが見つかりました。このようなものを取り除くためにFileContentResultを返す新しいアクションメソッドを使用する例も見つかりました。私はどの技術が最も優れていて実装が簡単であるかを知りたい。より具体的には

EDIT

、私はビューに表示するコントローラーで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"); 
    }  
} 

今、あなたは私がビューに表示するコントローラーでSystem.Drawing.Image変数にイメージを持っているこの

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

のようなビューでそれを呼び出すことができます。可能であれば画像を表示するために、実際の画像ファイルに保存する必要はありません。 – d456

+0

あなたは最初の2行を単純に入力することができます。 srcという変数はDrawing.Image型の変数です。だから私の答えではsrcImageの代わりに変数名(画像を持っている)を使用してください – Shyju

+2

ありがとう。ちょうど私が探していたもの。 – d456

関連する問題