//------------------------------------------------------------------------- // StrokeDropShadow.cs (c) 2005 by Charles Petzold, www.charlespetzold.com //------------------------------------------------------------------------- using System; using System.Drawing; using System.Windows.Forms; using Microsoft.Ink; class StrokeDropShadow: Form { public static void Main() { Application.Run(new StrokeDropShadow()); } public StrokeDropShadow() { Text = "Stroke Drop Shadow"; BackColor = Color.White; Size = new Size(640, 480); InkOverlay inkov = new InkOverlay(this); inkov.DefaultDrawingAttributes.Width = 1000; inkov.DefaultDrawingAttributes.IgnorePressure = true; inkov.Stroke += new InkCollectorStrokeEventHandler(InkOverlayOnStroke); inkov.Enabled = true; } void InkOverlayOnStroke(object objSrc, InkCollectorStrokeEventArgs args) { Stroke stk = args.Stroke; Ink ink = stk.Ink; // Draw shadow using AND raster operation Stroke stkShadow = ink.CreateStroke(stk.GetPoints()); stkShadow.DrawingAttributes = stk.DrawingAttributes.Clone(); stkShadow.DrawingAttributes.Color = Color.Gray; stkShadow.DrawingAttributes.RasterOperation = RasterOperation.MaskPen; stkShadow.Move(250, 250); Invalidate(); } }