public SKImage CreateBackgroundImage ()
{
SKPaint paint = null;
SKPath path = null;
try
{
var height = (int)Bounds.Height;
var width = (int)Bounds.Width;
using (var surface = SKSurface.Create (width, height, SKColorType.N_32, SKAlphaType.Premul))
{
var canvas = surface.Canvas;
//canvas.Clear (SKColors.Beige);
paint = new SKPaint
{
Color = SKColors.DarkBlue,
IsStroke = true,
StrokeWidth = 1,
StrokeCap = SKStrokeCap.Round,
IsAntialias = true
};
//path = new SKPath ();
//path.MoveTo (0f, 0f);
//path.LineTo (width, height);
//path.Close ();
//canvas.DrawPath (path, paint);
//DrawArc (canvas, paint, 0, 90);
var start = -90;
var end = 0;
//DrawCircle (canvas, paint, width / 2, height / 2, width / 2 - 4);
DrawArcFromTo (canvas, paint, width / 2, height / 2, width / 2 - 4, start, end);
DrawArcFromTo (canvas, paint, width / 2, height / 2, (int)((width / 2 - 4) * 0.8), start, end);
return surface.Snapshot ();
}
}
finally
{
if (paint != null)
paint.Dispose ();
if (path != null)
path.Dispose ();
}
}