Skia View中的透明部件



我正试图在Xamarin.forms中使用SkiaSharp在图像顶部绘制一些多边形。图像是从服务器下载的,然后缓存在后台。因此,我宁愿不操纵图像本身,而是绘制一个新的画布,并将其放置在图像顶部的新视图中,就像屏幕截图中一样。(使用相对布局)正如你在屏幕截图中看到的,放置矩形不是问题,但"透明"部分并不是真正透明的。

第一张截图的代码:

using (var paint = new SKPaint ()) {
  paint.IsAntialias = true;
            using (var path = new SKPath ()) {
                path.MoveTo (0f, 0f);
                path.LineTo (width, height);
                path.LineTo (0, width);
                path.Close ();
                paint.Color = SKColors.Orange;
                canvas.DrawPath (path, paint);
            }
        }

在第二次我尝试使用

            canvas.Clear(SKColors.Transparent);

但是它只改变为黑色背景。

有人知道在滑雪板视图中是否可以拥有完全透明的部件吗?

你的问题今天帮我解决了这个问题:

除了将画布的颜色设置为透明外,包含的Xamarin Forms元素也需要透明!

C#
canvas.Clear(SKColors.Transparent);

XAML
<views:SKCanvasView ... BackgroundColor="Transparent" />

猜测这里是因为你忘记了屏幕截图,

你可能想做的是使用剪切

类似于:

canvas.Clear();
canvas.ClipPath(path);
canvas.ResetMatrix();
canvas.DrawBitmap(...)

相关内容

  • 没有找到相关文章

最新更新