c# – 如何在Web应用程序中管理自定义字体(system.drawing)

我有一个应用程序使用System.Drawing(C#)将文本写入图像.

我使用特定字体来执行此操作.

由于我不能依赖我的共享托管服务器来获得我可能需要的所有自定义字体(并且由于字体列表可能会增长),我如何管理用于我的应用程序的字体?

我可以在项目中包含.ttf文件并以某种方式引用它们吗?

包含字体的SQL数据库怎么样?

解决方法

应该可以将字体文件存储在磁盘或数据库中,然后使用 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);
    }

相关文章

项目中经常遇到CSV文件的读写需求,其中的难点主要是CSV文件...
简介 本文的初衷是希望帮助那些有其它平台视觉算法开发经验的...
这篇文章主要简单记录一下C#项目的dll文件管理方法,以便后期...
在C#中的使用JSON序列化及反序列化时,推荐使用Json.NET——...
事件总线是对发布-订阅模式的一种实现,是一种集中式事件处理...
通用翻译API的HTTPS 地址为https://fanyi-api.baidu.com/api...