void PutLine(int x0, int y0, int x1, int y1) { var pts = LineTool.GetLinePixels(x0, y0, x1, y1); if (Pattern.ContinuousDraw) { int lstX = x0, lstY = y0; for (int i = 1; i < pts.Count; i++) { var dx = pts[i].X - x0; var dy = pts[i].Y - y0; if (dx == 0 || dy == 0) { PutPoint(pts[i].X, pts[i].Y, false); } else { PutPoint(x0 + dx, y0, false); PutPoint(pts[i].X, pts[i].Y, false); } x0 = pts[i].X; y0 = pts[i].Y; } } else { for (int i = 1; i < pts.Count; i++) { PutPoint(pts[i].X, pts[i].Y, false); } } Target.UpdateImage(); }
void DrawLine() { var pts = LineTool.GetLinePixels(X1, Y1, X2, Y2); for (int i = 0; i < pts.Count; i++) { PutPoint(pts[i].X, pts[i].Y, false); } Target.UpdateImage(); }
void EraseLine(int x0, int y0, int x1, int y1) { var pts = LineTool.GetLinePixels(x0, y0, x1, y1); for (int i = 1; i < pts.Count; i++) { ErasePoint(pts[i].X, pts[i].Y, false); } Target.UpdateImage(); }