我正在尝试使用 Xamarin.forms 中的 SkiaSharp 在图像上绘制一些多边形。 图片是从服务器下载的,然后缓存在后台。所以我宁愿不操纵图像本身,而是绘制一个新 Canvas 并将其放置在图像顶部的新 View 中,如屏幕截图所示。 (使用相对布局) 正如您在屏幕截图中还可以看到的那样,放置矩形不是问题,但“透明”部分并不是真正透明的。
第一张截图代码:
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);
但它只会变成黑色背景。
有谁知道在 skia View 中是否可以有完全透明的部分?
最佳答案
今天你的问题帮助我解决了这个问题:
除了将 Canvas 的颜色设置为透明之外,包含的 Xamarin Forms 元素也需要是透明的!
C#
canvas.Clear(SKColors.Transparent);
XAML
<views:SKCanvasView ... BackgroundColor="Transparent" />
关于xamarin - Skia View 中的透明部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37135155/