使用字形渲染文本
.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» 的步骤
- 创建需要 System.Drawing.Drawing2D.GraphicsPath 类型的对象用于图形绘制的 GlyphOutlinePainter 类。
- 实现 Rendering.IGlyphOutlinePainter 接口,借助该接口绘制字形。
- 渲染子系统会调用 GlyphOutlinePainter 的方法来绘制字形,因此字形的内部路径将作为字形渲染的结果被渲染到 GraphicsPath 对象中。要获得位图表示的字形图像,必须将生成的 GraphicsPath 绘制到 System.Drawing.Bitmap 对象中。
- 要获得具有清晰解释的更详细的代码示例,请学习 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.Rendering 和 Aspose.Font .Renderers 命名空间。首先,实现 IGlyphOutlinePainter 方法。然后创建 DrawText() 方法。创建实用程序方法来计算字体宽度并调用渲染文本功能。
3. 什么是字距调整?
字距调整正在调整字形之间的间距,以便文本看起来更平滑。它还有助于缩短文本字符串的长度。