对于在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(基本上是一些饼图绘图的快速测试)。适应线条或非常薄的矩形很容易。
任何想法如何绘制,同时仍然可以使用原始页面的其余部分?
答案 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'应该给你很多相关的文章来源。