2010-10-11 22 views
6

Tengo una aplicación que escribe texto en las imágenes usando System.Drawing (C#).Cómo administrar las fuentes personalizadas en la aplicación web (system.drawing)

Estoy usando fuentes específicas para hacer esto.

Como no puedo confiar en que mis servidores de alojamiento compartido tengan todas las fuentes personalizadas que pueda necesitar (y dado que la lista de fuentes es probable que crezca), ¿cómo puedo administrar las fuentes utilizadas para mi aplicación?

¿Podría incluir .ttf archivos en mi proyecto y hacer referencia a ellos de alguna manera?

¿Qué pasa con una base de datos SQL que contiene fuentes?

+0

Posible duplicado de [Cargar fuentes de archivo en una aplicación C#] (http://stackoverflow.com/questions/544972/load-fonts-from- file-on-ac-sharp-application) –

Respuesta

12

Debe ser posible almacenar sus archivos de fuentes en el disco o en la base de datos, y luego usar la clase PrivateFontCollection para usar las fuentes en tiempo de ejecución.

Aquí es cómo usted lo utilizaría:

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); 
    } 
Cuestiones relacionadas