我希望使用 SkiaSharp 来绘制富有文字的iOS文件或Xamarin.Forms' FormattedString
,但我无法找到
我找到了DrawText
方法,但它用于简单的文字渲染,只有一种颜色和一种字体。没有混合颜色和/或字体,也没有粗体,斜体,透视或下划线等样式。
我是否必须使用自己的富文本呈现逻辑?
答案 0 :(得分:6)
使用SKPaint
类型可行。基本上,在绘制时,可以在paint上设置属性:
var paint = new SKPaint();
paint.StrikeThruText = true;
paint.TextSize = 24;
paint.Color = SKColors.Yellow;
paint.UnderlineText = true;
paint.Typeface = SKTypeface.FromFamilyName(
"Arial",
SKFontStyleWeight.Bold,
SKFontStyleWidth.Normal,
SKFontStyleSlant.Italic);
然后你可以画:
canvas.DrawText("Fancy Text", 30, 30, paint);
我希望这有帮助!
对于其他效果,您可以使用SKShader
和SKMaskFilter
类型。这模糊了:
path.MaskFilter = SKMaskFilter.CreateBlur(SKBlurStyle.Normal, 5);