Delegate CustomFontSource
Delegate CustomFontSource
Namespace: Aspose.Imaging
Assembly: Aspose.Imaging.dll (25.2.0)
Benutzerdefinierte Schriftart-Quellanbietermethode
public delegate CustomFontData[] CustomFontSource(params object[] args)
Parameter
args
object[]
Die Argumente.
Rückgabe
Die Liste der spezifischen Schriftarten zur Darstellung des Bildes
Beispiele
Dieses Beispiel demonstriert die Bereitstellung einer benutzerdefinierten Schriftartquelle zur Verwendung der spezifischen Schriftart(en) für die Bilddarstellung. Im Gegensatz zur Methode FontSettings.SetFontsFolders funktioniert diese im Bildkontext und ermöglicht die Bereitstellung der Schriftarten in Mehrbenutzerszenarien.```csharp [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 benutzerdefinierten Schriftartenanbieters.
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();
}</aspose.imaging.customfonthandler.customfontdata>