使用字形呈现文本

.NET API 解决方案,用于显示带有所需字体的文本

 

Aspose.Font API 解决方案具有丰富的字体处理功能。包括转换、字形操作、拉丁符号检测等。部分功能与字形操作相关,如渲染文本。

字形是字体中单独设计的字符或符号/字符的图形表示。了解更多关于此字体单元,请阅读 字形简介 文章。

本页描述了如何使用字形显示«Hello world»文本,但完整功能已在 使用字形对象 文章中详细说明。在那里您会找到更多 C# 代码示例,并了解 Aspose.Font 在处理字形,特别是 Glyph 对象方面的功能。

要使用字形输入文本,我们需要:

  • Aspose.Font for .NET API 是功能丰富、强大且易于使用的文档操作和转换 API,适用于 C# 平台。

  • 打开 NuGet 包管理器,搜索 Aspose.Font 并安装。您也可以在包管理器控制台中使用以下命令。

Package Manager Console Command


    PM> Install-Package Aspose.Font

使用 C# 渲染文本 «Hello world» 的步骤

  1. 创建 GlyphOutlinePainter 类,该类需要一个 System.Drawing.Drawing2D.GraphicsPath 类型的对象用于图形绘制。
  2. 实现 Rendering.IGlyphOutlinePainter 接口,以利用该接口绘制字形。
  3. 渲染子系统将调用 GlyphOutlinePainter 的方法来绘制字形,因此字形的内部路径将在字形渲染后被渲染到 GraphicsPath 对象中。要获取字形的位图表示,必须将生成的 GraphicsPath 绘制到 System.Drawing.Bitmap 对象中。
  4. 欲获取更详细的代码示例及清晰说明,请阅读 使用 TrueType 字体进行文本渲染 文章。

用于渲染该短语的 C# 代码

    using Aspose.Font.Rendering;
    using Aspose.Font.RenderingPath;
class GlyphOutlinePainter: IGlyphOutlinePainter
    {
        private System.Drawing.Drawing2D.GraphicsPath _path;
        private System.Drawing.PointF _currentPoint;

        public GlyphOutlinePainter(System.Drawing.Drawing2D.GraphicsPath path)
        {
            _path = path;
        }

        public void MoveTo(MoveTo moveTo)
        {
            _path.CloseFigure();
            _currentPoint.X = (float)moveTo.X;
                _currentPoint.Y = (float)moveTo.Y;
        }

        public void LineTo(LineTo lineTo)
        {
            float x = (float)lineTo.X;
            float y = (float)lineTo.Y;
            _path.AddLine(_currentPoint.X, _currentPoint.Y, x, y);
            _currentPoint.X = x;
            _currentPoint.Y = y;
        }

        public void CurveTo(CurveTo curveTo)
        {
            float x3 = (float)curveTo.X3;
            float y3 = (float)curveTo.Y3;

            _path.AddBezier(
                _currentPoint.X,
                _currentPoint.Y,
                (float)curveTo.X1,
                (float)curveTo.Y1,
                (float)curveTo.X2,
                (float)curveTo.Y2,
                x3,
                y3);

            _currentPoint.X = x3;
            _currentPoint.Y = y3;
        }

        public void ClosePath()
        {
            _path.CloseFigure();
        }
    }  



常问问题

1. 什么是文本渲染?

根据 Microsoft ,文本渲染是将字符串转换为用户可读格式的过程。简单来说,它使用字体单位(字形)在屏幕上显示文本。

2. 字体是如何渲染的?

要使用此 API 解决方案渲染字体,您将需要 Aspose.Font.RenderingAspose.Font .Renderers 命名空间。首先,实现 IGlyphOutlinePainter 方法。然后创建 DrawText() 方法。创建实用程序方法来计算字体宽度并调用渲染文本功能。

3. 什么是字距调整?

字距调整正在调整字形之间的间距,以便文本看起来更平滑。它还有助于缩短文本字符串的长度。