Разница в MeasureText SkiaSharp и MeasureText системного рисунка ⇐ C#
Разница в MeasureText SkiaSharp и MeasureText системного рисунка
Я пытаюсь узнать ширину и высоту символа в среде Windows, используя этот код:
using(Graphics g = Graphics.FromImage(new Bitmap(800,550))) { g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias; SizeF size = g.MeasureString("0",new Font(FontFamily.GenericMonospace, 10) , new PointF(0, 0), StringFormat.GenericTypographic); Console.WriteLine(размер.Высота); Console.WriteLine(размер.Ширина); } Выход: Высота: 15,104165 Ширина: 8.001301
Я пытаюсь перенести этот процесс на кросс-платформенный код с помощью SkiaSharp, используя этот код:
с использованием (SKPaint p = новый SKPaint { IsAntialias = true, Typeface = SKTypeface.FromFamilyName("monospace"), Размер текста = 10 }) { строка текста = «0»; SKRect textBounds = SKRect.Empty; p.Цвет = SKColors.Черный; p.Style = SKPaintStyle.Fill; p.MeasureText(text, ref textBounds); Console.WriteLine(textBounds.Height); Console.WriteLine(textBounds.Width); } Это высота и ширина одного и того же символа в SkiaSharp: Высота: 7 Ширина: 5
Могу ли я получить помощь по этому поводу? Что мне не хватает?
Я пытаюсь узнать ширину и высоту символа в среде Windows, используя этот код:
using(Graphics g = Graphics.FromImage(new Bitmap(800,550))) { g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias; SizeF size = g.MeasureString("0",new Font(FontFamily.GenericMonospace, 10) , new PointF(0, 0), StringFormat.GenericTypographic); Console.WriteLine(размер.Высота); Console.WriteLine(размер.Ширина); } Выход: Высота: 15,104165 Ширина: 8.001301
Я пытаюсь перенести этот процесс на кросс-платформенный код с помощью SkiaSharp, используя этот код:
с использованием (SKPaint p = новый SKPaint { IsAntialias = true, Typeface = SKTypeface.FromFamilyName("monospace"), Размер текста = 10 }) { строка текста = «0»; SKRect textBounds = SKRect.Empty; p.Цвет = SKColors.Черный; p.Style = SKPaintStyle.Fill; p.MeasureText(text, ref textBounds); Console.WriteLine(textBounds.Height); Console.WriteLine(textBounds.Width); } Это высота и ширина одного и того же символа в SkiaSharp: Высота: 7 Ширина: 5
Могу ли я получить помощь по этому поводу? Что мне не хватает?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение