public void DrawOnGraphics(Graphics graphics, CanvasDelegate canvasDelegate) { if (Initialized == false) { return; } CopyFromGraphics(graphics); using (SKBitmap bitmap = new SKBitmap(Size.Width, Size.Height)) { using (SKCanvas canvas = new SKCanvas(bitmap)) { canvasDelegate(canvas); Skia_Canvas.DrawBitmap(bitmap, new SKRect(0, 0, Size.Width, Size.Height)); CopyToGraphics(graphics); } } }
private void ReleaseResources() { if (Initialized == false) { return; } Skia_Bitmap.Dispose(); Skia_Canvas.Dispose(); CSharp_Bitmap.Dispose(); ReleaseDC(IntPtr.Zero, screenDc); SelectObject(Skia_DC, oldBitmap); DeleteDC(Skia_DC); DeleteObject(native); DeleteObject(scan0); DeleteObject(oldBitmap); Initialized = false; }