using System.Threading.Tasks; using Util.Helpers; using Xunit; using Xunit.Abstractions; namespace Util.Images.Tests; /// /// 测试图片操作 - 写文本 /// public class DrawTextTest { /// /// 测试输出 /// private readonly ITestOutputHelper _testOutputHelper; /// /// 图片服务 /// private readonly IImageManager _imageManager; /// /// 输出路径 /// private const string Path = "./test/{0}.gif"; /// /// 测试初始化 /// public DrawTextTest( ITestOutputHelper testOutputHelper, IImageManager imageManager ) { _testOutputHelper = testOutputHelper; _imageManager = imageManager; } /// /// 测试 - 内置字体,指定坐标 /// [Fact] public async Task Test_1() { await _imageManager.CreateImage( 128, 128, "5d005d" ) .DefaultFontName( "Microsoft YaHei" ) .Font( 48 ) .Text( "U", "fff", 50, 38 ) .SaveAsync( string.Format( Path, "Test_1" ) ); } /// /// 测试 - 加载字体,居中显示 /// [Fact] public async Task Test_2() { ImageManager.LoadFont( "a", Common.GetPhysicalPath( "~/Fonts/STZHONGS.TTF" ) ); await _imageManager.CreateImage( 128, 128, "5d005d" ) .Font( 48,"a" ) .TextCenter( "U", "fff" ) .SaveAsync( string.Format( Path, "Test_2" ) ); } /// /// 测试获取流 /// [Fact] public async Task TestToStreamAsync() { var result = await _imageManager.CreateImage( 128, 128, "5d005d" ) .ImageType( ImageType.Gif ) .Font( 48 ) .TextCenter( "U", "fff" ) .ToStreamAsync(); await Util.Helpers.File.WriteAsync( string.Format( Path, "TestToStreamAsync" ),result ); } /// /// 测试获取base64 /// [Fact] public void TestToBase64() { var result = _imageManager.CreateImage( 128, 128, "5d005d" ) .ImageType( ImageType.Gif ) .Font( 48 ) .TextCenter( "U", "fff" ) .ToBase64(); _testOutputHelper.WriteLine( result ); } /// /// 测试受支持的字体列表 /// [Fact] public void TestGetSupportedFonts() { ImageManager.LoadFont( "a", Common.GetPhysicalPath( "~/Fonts/STZHONGS.TTF" ) ); var result = ImageManager.GetSupportedFonts(); _testOutputHelper.WriteLine( result.Join() ); } }