CustomFontSource
CustomFontSource delegate
自定义字体源提供函数
public delegate CustomFontData[] CustomFontSource(params object[] args);
范围 | 类型 | 描述 |
---|---|---|
args | Object[] | 论据。 |
返回值
渲染图像的特定字体列表
例子
此示例演示了提供使用特定字体进行图像渲染的自定义字体源。与 FontSettings.SetFontsFolders 方法不同,它在图像范围内工作,并允许在多用户场景中提供字体。
[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
});
}
}
// 自定义字体提供程序示例。
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();
}
也可以看看
- class CustomFontData
- 命名空间 Aspose.Imaging
- 部件 Aspose.Imaging