public CatsInFramePage() { Title = "Cats in Frame"; SKCanvasView canvasView = new SKCanvasView(); canvasView.PaintSurface += OnCanvasViewPaintSurface; Content = canvasView; // Move (0, 0) point to center of cat path catPath.Transform(SKMatrix.MakeTranslation(-240, -175)); // Now catPath is 400 by 250 // Scale it down to 160 by 100 catPath.Transform(SKMatrix.MakeScale(0.40f, 0.40f)); // Get the outlines of the contours of the cat path SKPath outlinedCatPath = new SKPath(); catStroke.GetFillPath(catPath, outlinedCatPath); // Create a 2D path effect from those outlines SKPathEffect fillEffect = SKPathEffect.Create2DPath( new SKMatrix { ScaleX = 170, ScaleY = 110, TransX = 75, TransY = 80, Persp2 = 1 }, outlinedCatPath); // Create a 1D path effect from the scallop path SKPathEffect strokeEffect = SKPathEffect.Create1DPath(scallopPath, 75, 0, SKPath1DPathEffectStyle.Rotate); // Set the sum the effects to frame paint framePaint.PathEffect = SKPathEffect.CreateSum(fillEffect, strokeEffect); }