Beispiel #1
0
        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);
                }
            }
        }
Beispiel #2
0
        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;
        }