我想了解如何使用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中浏览器窗口内部绘制的最佳方法是什么?
答案 0 :(得分:0)
我前段时间有同样的事情要做, 问题是,如果要在iFrame或Image控件中使用它,则必须将图形对象/位图保存到某个位置。
如果您不想将其保存到某个位置, 尝试在您的页面上使用服务器脚本: http://www.developerfusion.com/article/2569/creating-images-on-the-fly-with-aspnet/