如何使用SkiaSharp进行双缓冲

时间:2016-12-04 02:25:50

标签: xamarin xamarin.ios xamarin.forms skia skiasharp

我正在玩Xamarin Forms和SkiaSharp。我用SkiaCanvas创建了一个简单的Xamarin表单ContentView。我的PaintSurface如下绘制一个简单的绿色圆圈:

    private void canvas_PaintSurface(object sender, SKPaintSurfaceEventArgs e)
    {
        var view = (SKCanvasView)sender;
        var canvas = e.Surface.Canvas;

        using(var paint = new SKPaint())
        {
            paint.Color = Colours.XamarinGreen;
            paint.Style = SKPaintStyle.Fill;
            paint.StrokeWidth = 1;
            paint.IsAntialias = true;

            canvas.DrawCircle((float)view.Width / 2.0f, (float)view.Height / 2.0f, (float)view.Height / 2.0f, paint);
        }
    }

在我的测试应用中,当我通过拖动窗口的一角调整窗口大小时,圆圈会闪烁。我想知道在Xamarin.Forms应用程序中使用SkiaSharp绘制图形时是否有一种简单的方法可以启用双缓冲?

0 个答案:

没有答案