FormattedString
iOS の Attributed Text や Xamarin.FormsのSkiaSharpなどのリッチ テキストを描画したいのですが、方法が見つかりません。
メソッドを見つけましたDrawText
が、1 つの色と 1 つのフォントで単純なテキスト レンダリング用です。色やフォントを混ぜたり、太字、斜体、取り消し線、下線などのスタイルを使用したりしないでください。
独自のリッチ テキスト レンダリング ロジックを使用する必要がありますか?
これは、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);
そして、あなたは描くことができます:
canvas.DrawText("Fancy Text", 30, 30, paint);
これが役立つことを願っています!
SKShader
その他の効果については、およびSKMaskFilter
タイプを使用できます。これはぼかしを行います:
path.MaskFilter = SKMaskFilter.CreateBlur(SKBlurStyle.Normal, 5);
編集
しばらくすると、基本的な下線だけでなく、テキストを描画するためのはるかに優れた方法が実際に得られたようです。Brad Robinson によるこのライブラリを心からお勧めします: https://github.com/toptensoftware/RichTextKit
つまり、その美しいものを見てください!