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

Bri*_*man 8 c# asp.net-mvc fonts system.drawing truetype

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

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

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

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

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

dri*_*iis 16

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