1
我想绘制富文本,如iOS的Attributed Text或Xamarin.Forms的FormattedString
与SkiaSharp,但我找不到如何。如何使用Skia或SkiaSharp绘制丰富文本
我找到DrawText
方法,但它是用一种颜色和一种字体进行简单的文本渲染。没有混合的颜色和/或字体,也没有粗体,斜体,穿透或下划线等样式。
我是否必须使用自己的富文本渲染逻辑来执行此操作?
我想绘制富文本,如iOS的Attributed Text或Xamarin.Forms的FormattedString
与SkiaSharp,但我找不到如何。如何使用Skia或SkiaSharp绘制丰富文本
我找到DrawText
方法,但它是用一种颜色和一种字体进行简单的文本渲染。没有混合的颜色和/或字体,也没有粗体,斜体,穿透或下划线等样式。
我是否必须使用自己的富文本渲染逻辑来执行此操作?
这是可行的,使用SKPaint
类型。基本上,你画,你上了漆设置的属性:
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);
,然后你可以得出:
我希望这有助于!
对于其他效果,您可以使用SKShader
和SKMaskFilter
类型。这确实模糊了:
path.MaskFilter = SKMaskFilter.CreateBlur(SKBlurStyle.Normal, 5);