如何生成动态C#图像?

时间:2013-08-14 13:28:04

标签: c# asp.net-mvc graphics asp.net-web-api gdi+

基本上,我想重新编写前面用PHP编写的VisualCube

我研究了GDI +,试图找到处理C#,图形等的书籍。

所有相关内容仅针对WinForms或WPF,而我理想情况下需要创建一个提供图像的WebAPI或WCF服务。

我可以使用哪些技术?如果是GDI +,有人可以在WebAPI / WCF中为我提供用法吗?

我将通过MVC4访问WebAPI / WCF。

2 个答案:

答案 0 :(得分:12)

Hanselman有一个解释的例子: http://www.hanselman.com/blog/BackToBasicsDynamicImageGenerationASPNETControllersRoutingIHttpHandlersAndRunAllManagedModulesForAllRequests.aspx

 public ActionResult DynamicImage()
    {
        using (Bitmap image = new Bitmap(200, 200))
        {
            using (Graphics g = Graphics.FromImage(image))
            {
                string text = "Hello World!";

                Font drawFont = new Font("Arial", 10);
                SolidBrush drawBrush = new SolidBrush(Color.Black);
                PointF stringPonit = new PointF(0, 0);

                g.DrawString(text, drawFont, drawBrush, stringPonit);
            }

            MemoryStream ms = new MemoryStream();

            image.Save(ms, System.Drawing.Imaging.ImageFormat.Png);

            return File(ms.ToArray(), "image/png");
        }
    }

答案 1 :(得分:2)