Delegate CustomFontSource
Delegate CustomFontSource
Namespace: Aspose.Imaging
Assembly: Aspose.Imaging.dll (25.2.0)
Función del proveedor de fuente personalizada
public delegate CustomFontData[] CustomFontSource(params object[] args)
Parámetros
args
object[]
Los argumentos.
Retorna
La lista de fuentes específicas para renderizar la imagen.
Ejemplos
Este ejemplo demuestra cómo el proveedor de fuente personalizada se utiliza para emplear la(s) fuente(s) específica(s) en la renderización de imágenes. A diferencia del método FontSettings.SetFontsFolders, que funciona en el ámbito de la imagen y permite proporcionar las fuentes en escenarios de múltiples usuarios.```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
});
}
}
// Ejemplo del proveedor de fuentes personalizadas.
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>