|
|
|
@ -3,11 +3,19 @@ |
|
|
|
|
|
|
|
using System.IO; |
|
|
|
using SixLabors.ImageSharp.Formats; |
|
|
|
using SixLabors.ImageSharp.Formats.Bmp; |
|
|
|
using SixLabors.ImageSharp.Formats.Gif; |
|
|
|
using SixLabors.ImageSharp.Formats.Jpeg; |
|
|
|
using SixLabors.ImageSharp.Formats.Png; |
|
|
|
using SixLabors.ImageSharp.PixelFormats; |
|
|
|
using Xunit; |
|
|
|
|
|
|
|
namespace SixLabors.ImageSharp.Tests |
|
|
|
{ |
|
|
|
using System; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public class GeneralFormatTests : FileTestBase |
|
|
|
{ |
|
|
|
[Theory] |
|
|
|
@ -146,5 +154,56 @@ namespace SixLabors.ImageSharp.Tests |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
[Theory] |
|
|
|
[InlineData(10, 10, "png")] |
|
|
|
[InlineData(100, 100, "png")] |
|
|
|
[InlineData(100, 10, "png")] |
|
|
|
[InlineData(10, 100, "png")] |
|
|
|
[InlineData(10, 10, "gif")] |
|
|
|
[InlineData(100, 100, "gif")] |
|
|
|
[InlineData(100, 10, "gif")] |
|
|
|
[InlineData(10, 100, "gif")] |
|
|
|
[InlineData(10, 10, "bmp")] |
|
|
|
[InlineData(100, 100, "bmp")] |
|
|
|
[InlineData(100, 10, "bmp")] |
|
|
|
[InlineData(10, 100, "bmp")] |
|
|
|
[InlineData(10, 10, "jpg")] |
|
|
|
[InlineData(100, 100, "jpg")] |
|
|
|
[InlineData(100, 10, "jpg")] |
|
|
|
[InlineData(10, 100, "jpg")] |
|
|
|
public void CanIdentifyImageLoadedFromBytes(int width, int height, string format) |
|
|
|
{ |
|
|
|
using (Image<Rgba32> image = Image.LoadPixelData(new Rgba32[width * height], width, height)) |
|
|
|
{ |
|
|
|
using (var memoryStream = new MemoryStream()) |
|
|
|
{ |
|
|
|
image.Save(memoryStream, GetEncoder(format)); |
|
|
|
memoryStream.Position = 0; |
|
|
|
|
|
|
|
var imageInfo = Image.Identify(memoryStream); |
|
|
|
|
|
|
|
Assert.Equal(imageInfo.Width, width); |
|
|
|
Assert.Equal(imageInfo.Height, height); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private static IImageEncoder GetEncoder(string format) |
|
|
|
{ |
|
|
|
switch (format) |
|
|
|
{ |
|
|
|
case "png": |
|
|
|
return new PngEncoder(); |
|
|
|
case "gif": |
|
|
|
return new GifEncoder(); |
|
|
|
case "bmp": |
|
|
|
return new BmpEncoder(); |
|
|
|
case "jpg": |
|
|
|
return new JpegEncoder(); |
|
|
|
default: |
|
|
|
throw new ArgumentOutOfRangeException(nameof(format), format, null); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |