2010-10-11 2 views
6

У меня есть приложение, которое пишет текст на изображениях с использованием System.Drawing (C#).Как управлять пользовательскими шрифтами в веб-приложении (system.drawing)

Для этого я использую специальные шрифты.

Поскольку я не могу полагаться на свои общедоступные серверы хостинга, чтобы иметь все пользовательские шрифты, которые могут мне понадобиться (и поскольку список шрифтов, вероятно, будет расти), как я могу управлять шрифтами, используемыми для моего приложения?

Могу я включить .ttf файлов в моем проекте и как-то ссылаться на них?

Что относительно базы данных SQL, содержащей шрифты?

+0

Возможный дубликат [шрифтов Загрузить из файла на C# приложении] (http://stackoverflow.com/questions/544972/load-fonts-from- файл-на-ас-диез-приложение) –

ответ

12

Должно быть возможно хранить файлы шрифтов на диске или в базе данных, а затем использовать класс 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); 
    } 
Смежные вопросы