我有一个应用程序使用System.Drawing
(C#)将文本写入图像。
我使用特定字体来执行此操作。
由于我不能依赖我的共享托管服务器来获取我可能需要的所有自定义字体(并且由于字体列表可能会增长),我如何管理用于我的应用程序的字体?
我可以在项目中加入 .ttf
文件并以某种方式引用它们吗?
包含字体的SQL数据库怎么样?
答案 0 :(得分:14)
应该可以将字体文件存储在磁盘或数据库中,然后使用PrivateFontCollection类在运行时使用字体。
以下是您将如何使用它:
PrivateFontCollection collection = new PrivateFontCollection();
// Add the custom font families.
// (Alternatively use AddMemoryFont if you have the font in memory, retrieved from a database).
collection.AddFontFile(@"E:\Downloads\actest.ttf");
using (var g = Graphics.FromImage(bm))
{
// Create a font instance based on one of the font families in the PrivateFontCollection
Font f = new Font(collection.Families.First(), 16);
g.DrawString("Hello fonts", f, Brushes.White, 50, 50);
}