2010-10-11 14 views
6

Ich habe eine Anwendung, die schreibt Text auf Bilder mit System.Drawing (C#).So verwalten Sie benutzerdefinierte Schriftarten in der Webanwendung (system.drawing)

Ich verwende bestimmte Schriftarten, um dies zu tun.

Da ich mich nicht darauf verlassen kann, dass meine Shared-Hosting-Server alle benutzerdefinierten Schriftarten haben (und die Liste der Schriftarten wahrscheinlich wächst), wie kann ich die für meine Anwendung verwendeten Schriftarten verwalten?

Konnte ich .ttf Dateien in meinem Projekt einschließen und sie irgendwie verweisen?

Wie wäre es mit einer SQL-Datenbank mit Schriftarten?

+0

Mögliche Duplikat (http://stackoverflow.com/questions/544972/load-fonts-from- Datei-auf-ac-sharp-Anwendung) –

Antwort

12

Es sollte möglich sein, Ihre Schriftartdateien auf dem Datenträger oder in der Datenbank zu speichern und dann die Klasse PrivateFontCollection zu verwenden, um die Schriftarten zur Laufzeit zu verwenden.

Hier ist, wie Sie es verwenden würde: [auf einer C# -Anwendung Schriftarten laden aus Datei]

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); 
    } 
Verwandte Themen