3

FormattedStringiOS の Attributed Text や Xamarin.FormsのSkiaSharpなどのリッチ テキストを描画したいのですが、方法が見つかりません。

メソッドを見つけましたDrawTextが、1 つの色と 1 つのフォントで単純なテキスト レンダリング用です。色やフォントを混ぜたり、太字、斜体、取り消し線、下線などのスタイルを使用したりしないでください。

独自のリッチ テキスト レンダリング ロジックを使用する必要がありますか?

4

1 に答える 1

13

これは、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

つまり、その美しいものを見てください!

リッチテキストキット

于 2016-11-04T17:28:46.523 に答える