1
- using SixLabors . ImageSharp . Formats . Jpeg ;
2
- using SixLabors . ImageSharp . Formats . Png ;
3
- using SixLabors . ImageSharp . Formats . Tiff ;
4
-
5
- namespace VerifyTests ;
1
+ namespace VerifyTests ;
6
2
7
3
public static class VerifyImageSharp
8
4
{
@@ -18,14 +14,14 @@ public static void Initialize()
18
14
Initialized = true ;
19
15
20
16
InnerVerifier . ThrowIfVerifyHasBeenRun ( ) ;
21
- VerifierSettings . RegisterFileConverter ( "bmp" , ConvertBmp ) ;
22
- VerifierSettings . RegisterFileConverter ( "gif" , ConvertGif ) ;
23
- VerifierSettings . RegisterFileConverter ( "jpg" , ConvertJpg ) ;
24
- VerifierSettings . RegisterFileConverter ( "png" , ConvertPng ) ;
25
- VerifierSettings . RegisterFileConverter ( "tif" , ConvertTiff ) ;
17
+ VerifierSettings . RegisterStreamConverter ( "bmp" , ConvertBmp ) ;
18
+ VerifierSettings . RegisterStreamConverter ( "gif" , ConvertGif ) ;
19
+ VerifierSettings . RegisterStreamConverter ( "jpg" , ConvertJpg ) ;
20
+ VerifierSettings . RegisterStreamConverter ( "png" , ConvertPng ) ;
21
+ VerifierSettings . RegisterStreamConverter ( "tif" , ConvertTiff ) ;
26
22
27
23
var encoder = new PngEncoder ( ) ;
28
- VerifierSettings . RegisterFileConverter < Image > ( ( image , context ) => ConvertImage ( image , context , "png" , encoder ) ) ;
24
+ VerifierSettings . RegisterFileConverter < Image > ( ( image , context ) => ConvertImage ( null , image , context , "png" , encoder ) ) ;
29
25
}
30
26
31
27
static void EncodeAs < TEncoder > ( this VerifySettings settings , string extension , IImageEncoder ? encoder )
@@ -80,31 +76,30 @@ public static SettingsTask EncodeAsJpeg(this SettingsTask settings, JpegEncoder?
80
76
public static void EncodeAsJpeg ( this VerifySettings settings , JpegEncoder ? encoder = null ) =>
81
77
settings . EncodeAs < JpegEncoder > ( "jpg" , encoder ) ;
82
78
79
+ static ConversionResult ConvertBmp ( string ? name , Stream stream , IReadOnlyDictionary < string , object > context ) =>
80
+ Convert < BmpEncoder > ( name , BmpDecoder . Instance , stream , "bmp" , context ) ;
83
81
84
- static ConversionResult ConvertBmp ( Stream stream , IReadOnlyDictionary < string , object > context ) =>
85
- Convert < BmpEncoder > ( BmpDecoder . Instance , stream , "bmp" , context ) ;
86
-
87
- static ConversionResult ConvertGif ( Stream stream , IReadOnlyDictionary < string , object > context ) =>
88
- Convert < GifEncoder > ( GifDecoder . Instance , stream , "gif" , context ) ;
82
+ static ConversionResult ConvertGif ( string ? name , Stream stream , IReadOnlyDictionary < string , object > context ) =>
83
+ Convert < GifEncoder > ( name , GifDecoder . Instance , stream , "gif" , context ) ;
89
84
90
- static ConversionResult ConvertJpg ( Stream stream , IReadOnlyDictionary < string , object > context ) =>
91
- Convert < JpegEncoder > ( JpegDecoder . Instance , stream , "jpg" , context ) ;
85
+ static ConversionResult ConvertJpg ( string ? name , Stream stream , IReadOnlyDictionary < string , object > context ) =>
86
+ Convert < JpegEncoder > ( name , JpegDecoder . Instance , stream , "jpg" , context ) ;
92
87
93
- static ConversionResult ConvertPng ( Stream stream , IReadOnlyDictionary < string , object > context ) =>
94
- Convert < PngEncoder > ( PngDecoder . Instance , stream , "png" , context ) ;
88
+ static ConversionResult ConvertPng ( string ? name , Stream stream , IReadOnlyDictionary < string , object > context ) =>
89
+ Convert < PngEncoder > ( name , PngDecoder . Instance , stream , "png" , context ) ;
95
90
96
- static ConversionResult ConvertTiff ( Stream stream , IReadOnlyDictionary < string , object > context ) =>
97
- Convert < TiffEncoder > ( TiffDecoder . Instance , stream , "tif" , context ) ;
91
+ static ConversionResult ConvertTiff ( string ? name , Stream stream , IReadOnlyDictionary < string , object > context ) =>
92
+ Convert < TiffEncoder > ( name , TiffDecoder . Instance , stream , "tif" , context ) ;
98
93
99
- static ConversionResult Convert < TEncoder > ( IImageDecoder decoder , Stream stream , string extension , IReadOnlyDictionary < string , object > context )
94
+ static ConversionResult Convert < TEncoder > ( string ? name , IImageDecoder decoder , Stream stream , string extension , IReadOnlyDictionary < string , object > context )
100
95
where TEncoder : IImageEncoder , new ( )
101
96
{
102
97
using var image = decoder . Decode ( new ( ) , stream ) ;
103
98
stream . Position = 0 ;
104
- return ConvertImage ( image , context , extension , new TEncoder ( ) ) ;
99
+ return ConvertImage ( name , image , context , extension , new TEncoder ( ) ) ;
105
100
}
106
101
107
- static ConversionResult ConvertImage ( Image image , IReadOnlyDictionary < string , object > context , string extension , IImageEncoder encoder )
102
+ static ConversionResult ConvertImage ( string ? name , Image image , IReadOnlyDictionary < string , object > context , string extension , IImageEncoder encoder )
108
103
{
109
104
if ( context . TryGetValue ( "ImageSharpEncoder" , out var encoderValue ) )
110
105
{
@@ -116,6 +111,6 @@ static ConversionResult ConvertImage(Image image, IReadOnlyDictionary<string, ob
116
111
var info = image . GetInfo ( ) ;
117
112
image . Save ( stream , encoder ) ;
118
113
stream . Position = 0 ;
119
- return new ( info , extension , stream ) ;
114
+ return new ( info , [ new ( extension , stream , name ) ] ) ;
120
115
}
121
116
}
0 commit comments