コード例 #1
0
ファイル: SKCanvasTest.cs プロジェクト: witness123/SkiaSharp
        public void CanDrawPatch()
        {
            var cubics = new SKPoint[12] {
                // top points
                new SKPoint(100, 100), new SKPoint(150, 50), new SKPoint(250, 150), new SKPoint(300, 100),
                // right points
                new SKPoint(250, 150), new SKPoint(350, 250),
                // bottom points
                new SKPoint(300, 300), new SKPoint(250, 250), new SKPoint(150, 350), new SKPoint(100, 300),
                // left points
                new SKPoint(50, 250), new SKPoint(150, 150)
            };

            var baboon = SKImage.FromEncodedData(Path.Combine(PathToImages, "baboon.jpg"));
            var tex    = new SKPoint[4] {
                new SKPoint(0, 0),
                new SKPoint(baboon.Width, 0),
                new SKPoint(baboon.Width, baboon.Height),
                new SKPoint(0, baboon.Height),
            };

            using var bmp    = new SKBitmap(new SKImageInfo(400, 400));
            using var canvas = new SKCanvas(bmp);
            using var paint  = new SKPaint
                  {
                      IsAntialias = true,
                      Shader      = baboon.ToShader(),
                  };

            canvas.DrawPatch(cubics, null, tex, paint);
        }