SkiaSharp是基于Google的Skia图形库(skia.org)的.NET平台的跨平台2D图形API 。它提供了全面的2D API,可在移动,服务器和台式机模型之间使用以渲染图像。
SkiaSharp为以下内容提供跨平台绑定:
该API文档可在以下网站上浏览。
SKTypeface.FromFamilyName
获取中文字体var stypeface = SKTypeface.FromFamilyName("宋体");
通过该方法无法正确获取宋体。获取到的为SkiaSharp默认的字体:
{SkiaSharp.SKTypeface.SKTypefaceStatic}
FamilyName: "Segoe UI"
FontSlant: Upright
FontStyle: {SkiaSharp.SKFontStyle}
FontWeight: 400
FontWidth: 5
GlyphCount: 5012
Handle: 0x05112170
IgnorePublicDispose: true
IsBold: false
IsDisposed: false
IsFixedPitch: false
IsItalic: false
OwnsHandle: true
Style: Normal
TableCount: 23
UnitsPerEm: 2048
图片中的中文为口子方块:
使用SKFontManager
类来获取中文字体,代码如下:
// 获取宋体在字体集合中的下标
var index = SKFontManager.Default.FontFamilies.ToList().IndexOf("宋体");
// 创建宋体字形
var songtiTypeface = SKFontManager.Default.GetFontStyles(index).CreateTypeface(0);
获取到正确的中文字体:
{SkiaSharp.SKTypeface}
FamilyName: "SimSun"
FontSlant: Upright
FontStyle: {SkiaSharp.SKFontStyle}
FontWeight: 400
FontWidth: 5
GlyphCount: 28762
Handle: 0x060aace0
IgnorePublicDispose: true
IsBold: false
IsDisposed: false
IsFixedPitch: false
IsItalic: false
OwnsHandle: true
Style: Normal
TableCount: 22
UnitsPerEm: 256
图片中的中文正确显示:
也可以直接使用SKTypeface.FromFamilyName("SimSun")
获取中文字体
原文:https://www.cnblogs.com/shipengfei/p/14156119.html