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);