3

I am trying to use SKPictureRecorder of SkiaSharp to draw a path in the SKCanvas. The image is not saved in the disk. Please find the code below for your reference.

SKPictureRecorder record = new SKPictureRecorder();
SKCanvas tempCanvas= record.BeginRecording(new SKRect(0,0,640,480));
tempCanvas.Clear(SKColors.White);

// set up drawing tools
using (var paint = new SKPaint())
{
    paint.IsAntialias = true;
    paint.Color = new SKColor(0x2c, 0x3e, 0x50);
    paint.StrokeCap = SKStrokeCap.Round;

    // create the Xamagon path
    using (var path = new SKPath())
    {
        path.MoveTo(71.4311121f, 56f);
        path.CubicTo(68.6763107f, 56.0058575f, 65.9796704f, 57.5737917f, 64.5928855f, 59.965729f);
        path.LineTo(43.0238921f, 97.5342563f);
        path.CubicTo(41.6587026f, 99.9325978f, 41.6587026f, 103.067402f, 43.0238921f, 105.465744f);
        path.LineTo(64.5928855f, 143.034271f);
        path.CubicTo(65.9798162f, 145.426228f, 68.6763107f, 146.994582f, 71.4311121f, 147f);
        path.LineTo(114.568946f, 147f);
        path.CubicTo(117.323748f, 146.994143f, 120.020241f, 145.426228f, 121.407172f, 143.034271f);
        path.LineTo(142.976161f, 105.465744f);
        path.CubicTo(144.34135f, 103.067402f, 144.341209f, 99.9325978f, 142.976161f, 97.5342563f);
        path.LineTo(121.407172f, 59.965729f);
        path.CubicTo(120.020241f, 57.5737917f, 117.323748f, 56.0054182f, 114.568946f, 56f);
        path.LineTo(71.4311121f, 56f);
        path.Close();

        // draw the Xamagon path
        tempCanvas.DrawPath(path, paint);
    }
}
SKPicture picture= record.EndRecording();
using (var image = SKImage.FromPicture(picture, new SKSizeI(640, 480)))
using (var data = image.Encode(SKEncodedImageFormat.Png, 80))
{
    // save the data to a stream
    using (var stream = File.OpenWrite("testing.png"))
    {
        data.SaveTo(stream);
    }
}

Can you check any issue with the code?

Also please let us me know the structure of SKPictureRecorder of SkiaSharp.

Thanks in advance.

Regards,

Sabari

Parthi
  • 361
  • 6
  • 21
Sabari
  • 94
  • 1
  • 9
  • 1
    I pasted your code into linqpad with 0 changes and the image was generated without a problem – Maku Nov 16 '22 at 10:12

0 Answers0