我希望能够在网页后面的代码中绘制线条

时间:2013-04-10 08:13:47

标签: c# asp.net drawing webpage code-behind

对于在Visual Studio中创建的网页,我正在考虑在C#中的代码中绘制线条。它们只是垂直线,但必须能够根据其他变量改变大小。

我有一些代码,如下所示:

using System.Drawing;
using System.Drawing.Imaging;

public partial class SpareFields : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Bitmap objBitmap;
        Graphics objGraphics;
        objBitmap = new Bitmap(400, 440);
        objGraphics = Graphics.FromImage(objBitmap);
        objGraphics.Clear(Color.White);
        Pen p = new Pen(Color.Yellow, 0);

        Rectangle rect = new Rectangle(600, 1500, 601, 2000);
        objGraphics.DrawEllipse(p, rect);
        objBitmap.Save(Response.OutputStream, ImageFormat.Gif);
        //objBitmap.Save(Server.MapPath("x.jpg"), ImageFormat.Jpeg);

        objBitmap.Dispose();
        objGraphics.Dispose();
    }
}

等等。这只是在Page_Load的开头 - 那里有很多其他的非图形代码。麻烦的是,页面的其余部分被忽略,它只是绘制图形。

另外,我知道上面是一个Ellipse(基本上是一些饼图绘图的快速测试)。适应线条或非常薄的矩形很容易。

任何想法如何绘制,同时仍然可以使用原始页面的其余部分?

2 个答案:

答案 0 :(得分:1)

最简单的方法是将此页面拆分为两个:

1)您的页面只输出它的html,包括<img>标记,其中src属性指向新页面 2)在该新页面中,仅使用该图像生成代码。

答案 1 :(得分:1)

要绘制一些我使用SVG的行,动态图像有非常 few reasons not to use it,svg的最大优势是可以更改图像页面/客户端通过JS。

但是如果你真的想要位图,网上有很多文章讨论动态图像,Google for 'msdn dynamic image asp.net'应该给你很多相关的文章来源。