CustomFontSource

CustomFontSource delegate

Funktion des benutzerdefinierten Schriftartquellenanbieters

public delegate CustomFontData[] CustomFontSource(params object[] args);
ParameterTypBeschreibung
argsObject[]Die Argumente.

Rückgabewert

Die Liste bestimmter Schriftarten zum Rendern des Bilds

Beispiele

Dieses Beispiel demonstriert die benutzerdefinierte Schriftartquelle, die die Verwendung der spezifischen Schriftart(en) für die Bildwiedergabe bereitstellt. Im Gegensatz zu FontSettings.SetFontsFolders arbeitet die Methode im Bildbereich und ermöglicht die Bereitstellung der Schriftarten in Mehrbenutzerszenarien.

[C#]

public void CustomFontSourceTest(string inputPath, string outputPath, string fileName, string fontPath)
{
    var loadOptions = new Aspose.Imaging.LoadOptions();
    loadOptions.AddCustomFontSource(GetFontSource, fontPath);
    using (var img = Image.Load(System.IO.Path.Combine(inputPath, fileName), loadOptions))
    {
        Aspose.Imaging.ImageOptions.VectorRasterizationOptions vectorRasterizationOptions =
            (Aspose.Imaging.ImageOptions.VectorRasterizationOptions)img.GetDefaultOptions(new object[] { Color.White, img.Width, img.Height });
        vectorRasterizationOptions.TextRenderingHint = Aspose.Imaging.TextRenderingHint.SingleBitPerPixel;
        vectorRasterizationOptions.SmoothingMode = Aspose.Imaging.SmoothingMode.None;

        img.Save(System.IO.Path.Combine(outputPath, fileName + ".png"), new Aspose.Imaging.ImageOptions.PngOptions
        {
            VectorRasterizationOptions = vectorRasterizationOptions
        });
    }
}

// Das Beispiel des Anbieters benutzerdefinierter Schriftarten. 
private Aspose.Imaging.CustomFontHandler.CustomFontData[] GetFontSource(params object[] args)
{
    string fontsPath = string.Empty;
    if (args.Length > 0)
    {
        fontsPath = args[0].ToString();
    }

    var customFontData = new System.Collections.Generic.List<Aspose.Imaging.CustomFontHandler.CustomFontData>();
    foreach (var font in System.IO.Directory.GetFiles(fontsPath))
    {
        customFontData.Add(new Aspose.Imaging.CustomFontHandler.CustomFontData(Path.GetFileNameWithoutExtension(font), System.IO.File.ReadAllBytes(font)));
    }

    return customFontData.ToArray();
}

Siehe auch