2016-09-26 3 views
1

Я хочу обратить форматированный текст как Приписываются Текст IOS или Xamarin.Forms FormattedString с игровой SkiaSharp, но я не могу найти, как.Как нарисовать форматированный текст с Skia или SkiaSharp

Я нашел метод DrawText, но он предназначен для простого текстового рендеринга с одним цветом и одним шрифтом. Нет смешанных цветов и/или шрифтов, а не стилей, таких как жирный, курсив, промах или подчеркивание.

Должен ли я делать это с помощью собственной богатой текстовой визуализации?

ответ

5

Это выполнимо с использованием типа 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); 
Смежные вопросы