设置Graphics.DrawPath绘制方法的起点

时间:2014-04-24 23:17:35

标签: c# system.drawing

我目前正在使用GraphicsPath将曲线添加到graphic

我不确定哪个对象以及如何更改以使曲线从我选择的X,Y点开始(而不是0,0)。

PointF[] p = // xxx the code to populate the array with points
GraphicsPath path = new GraphicsPath();
path.AddCurve(p);

using (var bitmap = new Bitmap(100, 100, PixelFormat.Format24bppRgb))
{
   using (var g = Graphics.FromImage(bitmap)) 
      g.DrawPath(Pens.White, path);

   MemoryStream ms = new MemoryStream();
   bitmap.Save(ms, ImageFormat.Png);
}

我设置了哪个对象的初始起点,因此它不会从0,0开始绘制线条

先谢谢。

1 个答案:

答案 0 :(得分:0)

来自MSDN GraphicsPath.AddCurve:

曲线从offset参数指定的数组中开始,包括numberOfSegments指定的点(段)数。

http://msdn.microsoft.com/es-es/library/ms142523(v=vs.110).aspx

因此,如果使用不带偏移的重载,则可以将偏移量设置为0,因此它将开始在p [0]处绘制

如果您想要设置绘图偏移(替换坐标系0,0),那么您可以使用Graphics.TranslateTransform应用变换。