如何使用C#在.png文件中生成路径?

时间:2010-01-29 14:33:36

标签: c# graphics

我需要解析坐标的XML文件并创建一个.png(从头开始),我在其中绘制坐标之间的路径。当路径改变方向时,我也需要能够平滑角落(可能使用贝塞尔曲线)。

如何在C#中以编程方式执行此操作?

由于

2 个答案:

答案 0 :(得分:3)

C#没有任何图形概念 - 你需要选择一个矢量图形库来为你完成工作。由于你已经在.NET中,我建议使用WPF构建图像,使用Bitmap类将最终结果导出为PNG。

您可以找到a great introduction to WPF vector graphics here

答案 1 :(得分:3)

您可以使用Graphics对象和DrawBezier方法绘制到位图中: http://msdn.microsoft.com/en-us/library/system.drawing.graphics.drawbezier.aspx

然后使用Save方法将其存储为png。

我现在无法粘贴您的代码,因为我没有开发环境来制作样本,但它应该是这样的:

  1. 使用您需要的尺寸创建Bitmap

    Bitmap bitmap = new Bitmap(width,height);
    
  2. 从位图中获取Graphics对象:

    Graphics graphics= Graphics.FromImage(bitmap);
    
  3. 使用图形对象绘制(如果是你的情况,使用DrawBezier

    graphics.DrawBezier(pen, a,b,c);
    
  4. 调用指示png格式的Save方法:

    bitmap.Save(path,ImageFormat.Png);