如何在浏览器窗口中放置System.Drawing.Graphics对象

时间:2013-08-01 08:33:57

标签: c# asp.net graphics mono

我想了解如何使用C#在我的浏览器窗口中绘制图像 - 以及已经存在的其他HTML对象。 (想法:放置允许用户更改图像的按钮和表单。) 我在Linux上的Mono中这样做,但我希望这个东西是可移植的。 到目前为止我想出的是:

public virtual void button1Clicked (object sender, EventArgs args)
    {
        int height = 300;
        int width = 300;

        Bitmap bmp = new Bitmap(width, height, PixelFormat.Format24bppRgb);
        Graphics g = Graphics.FromImage(bmp);
        //
        //Draw something on g here
          //
        Response.ContentType = "image/gif";
        bmp.Save(Response.OutputStream, ImageFormat.Gif);
        g.Dispose();
        bmp.Dispose;

    }

这会清除浏览器窗口,然后显示图像,这不是我想要的。 经过广泛搜索后,我找到了以下教程, http://www.dreamincode.net/forums/topic/67275-the-wonders-of-systemdrawinggraphics/ 这说我应该尝试在窗口中的某个控件上使用Handle,或者使用CreateGraphics()方法。我的.aspx页面中的“button1”或实体的任何其他ID似乎都不存在。那是因为我正在使用Mono吗?

总结一下,在C#+ asp.net中浏览器窗口内部绘制的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

我前段时间有同样的事情要做, 问题是,如果要在iFrame或Image控件中使用它,则必须将图形对象/位图保存到某个位置。

如果您不想将其保存到某个位置, 尝试在您的页面上使用服务器脚本: http://www.developerfusion.com/article/2569/creating-images-on-the-fly-with-aspnet/