如何显示动态生成的图像

时间:2012-08-31 02:11:08

标签: c# .net asp.net-mvc-3

我使用以下方法创建一些图像。

我的问题是如何在 .cshtml 页面(MVC3)中显示它?哪个 Razor语法我必须使用?

public FileContentResult DisplayFont()
        {
            int fontSize = 12;

            string fontName = "Arial";

            System.Drawing.Font rectangleFont = new System.Drawing.Font(fontName, fontSize, FontStyle.Bold);

            int height = 150;

            int width = 250;

            Bitmap bitmap = new Bitmap(width, height, PixelFormat.Format24bppRgb);

            Graphics g = Graphics.FromImage(bitmap);

            g.SmoothingMode = SmoothingMode.AntiAlias;

            Color backgroundColor = Color.White;

            g.Clear(backgroundColor);

            g.DrawString(fontName, rectangleFont,SystemBrushes.WindowText, new PointF(10, 40));

            MemoryStream outputStream = new MemoryStream();

            bitmap.Save(outputStream,  ImageFormat.Jpeg);

            byte[] byteArray = outputStream.ToArray();  

            g.Dispose();

            bitmap.Dispose(); 

            return new FileContentResult(byteArray, "image/jpeg");
        }

1 个答案:

答案 0 :(得分:1)

您可以使用普通的HTML img代码,使用DisplayFont操作的网址对其进行渲染:

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