/// <summary> /// <see cref="InvalidateStroke"/> /// </summary> /// <param name="iStroke">The Ink stroke to invalidate</param> /// <param name="padding">Number of pixels to pad invalidation /// rectangle in Ink space pixels</param> public void InvalidateStroke(Microsoft.Ink.Stroke iStroke, int padding) { using (Graphics g = InkPicture.CreateGraphics()) { Rectangle bb = iStroke.GetBoundingBox(); System.Drawing.Point upperLeft = new System.Drawing.Point(bb.X - padding, bb.Y - padding); System.Drawing.Point lowerRight = new System.Drawing.Point(bb.Right + padding, bb.Bottom + padding); InkPicture.Renderer.InkSpaceToPixel(g, ref upperLeft); InkPicture.Renderer.InkSpaceToPixel(g, ref lowerRight); InkPicture.Invalidate(new Rectangle(upperLeft.X, upperLeft.Y, lowerRight.X, lowerRight.Y)); } }
public void ClearInkPicture(InkPicture inkPictureCtrl) { inkPictureCtrl.DefaultDrawingAttributes.Color = Color.Black; inkPictureCtrl.Ink.DeleteStrokes(); Ink ink = new Ink(); inkPictureCtrl.InkEnabled = false; inkPictureCtrl.Ink = ink; inkPictureCtrl.InkEnabled = true; inkPictureCtrl.Invalidate(); inkPictureCtrl.Refresh(); }
/// <summary> /// Event Handler from Clear Menu Item Click Event /// </summary> /// <param name="sender">The control that raised the event.</param> /// <param name="e">The event arguments.</param> private void miClear_Click(object sender, System.EventArgs e) { // Delete the ink strokes and redraw inkPicture1.Ink.DeleteStrokes(inkPicture1.Ink.Strokes); inkPicture1.Invalidate(); }