在图像控件中显示位图

时间:2014-09-12 08:28:31

标签: c# html .net asp.net-mvc asp.net-mvc-5

我正在开发ASP.NET MVC 5应用程序。我需要在HTML标记<img />中显示来自控制器的位图图像。我该怎么办?

请阅读:这个问题不是太宽泛了#34;它特别询问如何使用ASP.NET MVC在HTML图像标记中显示Bitmap C#对象。请重新打开它。

2 个答案:

答案 0 :(得分:11)

您可以简单地使用以下内容

<img src="@String.Format("data:image/png;base64,{0}", Convert.ToBase64String(Model.imageBytes))" />

答案 1 :(得分:8)

您需要有一个控制器操作,它返回一个FileStreamResult,然后使用指向此操作的<img />标记。

动作

public ActionResult Image()
{
    var bitmap = GetBitmap(); // The method that returns Bitmap
    var bitmapBytes = BitmapToBytes(bitmap); //Convert bitmap into a byte array
    return File(bitmapBytes, "image/jpeg"); //Return as file result
}

// This method is for converting bitmap into a byte array
private static byte[] BitmapToBytes(Bitmap img)
{
    using (MemoryStream stream = new MemoryStream())
    {
        img.Save(stream, System.Drawing.Imaging.ImageFormat.Png);
        return stream.ToArray();
    }
}

视图

<img src='@Url.Action("image")' alt="" />