我有一个应用程序使用System.Drawing(C#)将文本写入图像.
我使用特定字体来执行此操作.
由于我不能依赖我的共享托管服务器来获得我可能需要的所有自定义字体(并且由于字体列表可能会增长),我如何管理用于我的应用程序的字体?
我可以在项目中包含.ttf文件并以某种方式引用它们吗?
解决方法
应该可以将字体文件存储在磁盘或数据库中,然后使用
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); }