使用字形渲染文本

.NET API 解决方案。以显示所需字体的文本。

 

Aspose.Font API 解决方案具有丰富的字体处理功能。转换、字形操作、拉丁符号检测等等。一些功能与诸如渲染文本之类的字形操作相关联。

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

此页面描述了如何使用字形显示文本 «Hello world» 的选项,但整个功能在 使用字形对象 文章。在那里,您将找到更多 C# 代码示例,并了解 Aspose.Font 处理字形特别是 Glyph 对象的功能。

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

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

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

Package Manager Console Command


    PM> Install-Package Aspose.Font

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

  1. 创建需要 System.Drawing.Drawing2D.GraphicsPath 类型的对象用于图形绘制的 GlyphOutlinePainter 类。
  2. 实现 Rendering.IGlyphOutlinePainter 接口,借助该接口绘制字形。
  3. 渲染子系统会调用 GlyphOutlinePainter 的方法来绘制字形,因此字形的内部路径将作为字形渲染的结果被渲染到 GraphicsPath 对象中。要获得位图表示的字形图像,必须将生成的 GraphicsPath 绘制到 System.Drawing.Bitmap 对象中。
  4. 要获得具有清晰解释的更详细的代码示例,请学习 Text Rendering using TrueType Font 文章。

用于呈现短语的 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. 什么是字距调整?

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