//指定したidまでで、消されていないストロークを再描画 private void drawAll(int limId) { for (int i = 0; i < limId; i++) { StrokeLine sl = strokeLines[i]; //指定されたときまでに消去済みでなく、隠れたスペースに書いていないストローク以外を再描画 if (!sl.GetInSpace() && (sl.GetEreasedTime() > counter || !sl.GetEreased())) { //線の色、幅を取得 DrawingAttributes DA = new DrawingAttributes(); DA.Color = sl.GetColor(); DA.Width = sl.GetWidth(); DA.Height = sl.GetWidth(); inkCanvas1.DefaultDrawingAttributes = DA; //点の情報を集める StylusPointCollection spc = new StylusPointCollection(); for (int j = 0; j < sl.GetPoints().Count; j++) { spc.Add(new StylusPoint(sl.GetPoints()[j].X, sl.GetPoints()[j].Y)); } Stroke stroke = new Stroke(spc, DA); inkCanvas1.Strokes.Add(stroke); } } }
//すべての線を再描画 private void drawAll() { for (int i = 0; i < strokeLines.Count; i++) { StrokeLine sl = strokeLines[i]; //消去済みでないストローク以外を再描画 if (!sl.GetEreased()) { //線の色、幅を取得 DrawingAttributes DA = new DrawingAttributes(); DA.Color = sl.GetColor(); DA.Width = sl.GetWidth(); DA.Height = sl.GetWidth(); inkCanvas1.DefaultDrawingAttributes = DA; //点の情報を集める StylusPointCollection spc = new StylusPointCollection(); for (int j = 0; j < sl.GetPoints().Count; j++) { spc.Add(new StylusPoint(sl.GetPoints()[j].X, sl.GetPoints()[j].Y)); } Stroke stroke = new Stroke(spc, DA); inkCanvas1.Strokes.Add(stroke); } } //線のスタイルを戻す inkCanvas1.DefaultDrawingAttributes = inkDA; }