mirror of https://github.com/SixLabors/ImageSharp
4 changed files with 58 additions and 41 deletions
@ -1,31 +1,60 @@ |
|||
namespace SixLabors.ImageSharp.Tests |
|||
{ |
|||
using SixLabors.ImageSharp.PixelFormats; |
|||
// Copyright (c) Six Labors and contributors.
|
|||
// Licensed under the Apache License, Version 2.0.
|
|||
|
|||
using Xunit; |
|||
using System; |
|||
using SixLabors.ImageSharp.PixelFormats; |
|||
using Xunit; |
|||
|
|||
namespace SixLabors.ImageSharp.Tests |
|||
{ |
|||
public partial class ImageTests |
|||
{ |
|||
public class LoadPixelData |
|||
{ |
|||
[Fact] |
|||
public void LoadFromPixelData_Bytes() |
|||
[Theory] |
|||
[InlineData(false)] |
|||
[InlineData(true)] |
|||
public void FromPixels(bool useSpan) |
|||
{ |
|||
var img = Image.LoadPixelData<Rgba32>(new byte[] { |
|||
0,0,0,255, // 0,0
|
|||
255,255,255,255, // 0,1
|
|||
255,255,255,255, // 1,0
|
|||
0,0,0,255, // 1,1
|
|||
}, 2, 2); |
|||
Rgba32[] data = { Rgba32.Black, Rgba32.White, Rgba32.White, Rgba32.Black, }; |
|||
|
|||
Assert.NotNull(img); |
|||
Assert.Equal(Rgba32.Black, img[0, 0]); |
|||
Assert.Equal(Rgba32.White, img[0, 1]); |
|||
using (Image<Rgba32> img = useSpan |
|||
? Image.LoadPixelData<Rgba32>(data.AsSpan(), 2, 2) |
|||
: Image.LoadPixelData<Rgba32>(data, 2, 2)) |
|||
{ |
|||
Assert.NotNull(img); |
|||
Assert.Equal(Rgba32.Black, img[0, 0]); |
|||
Assert.Equal(Rgba32.White, img[0, 1]); |
|||
|
|||
Assert.Equal(Rgba32.White, img[1, 0]); |
|||
Assert.Equal(Rgba32.Black, img[1, 1]); |
|||
Assert.Equal(Rgba32.White, img[1, 0]); |
|||
Assert.Equal(Rgba32.Black, img[1, 1]); |
|||
} |
|||
} |
|||
|
|||
[Theory] |
|||
[InlineData(false)] |
|||
[InlineData(true)] |
|||
public void FromBytes(bool useSpan) |
|||
{ |
|||
byte[] data = |
|||
{ |
|||
0, 0, 0, 255, // 0,0
|
|||
255, 255, 255, 255, // 0,1
|
|||
255, 255, 255, 255, // 1,0
|
|||
0, 0, 0, 255, // 1,1
|
|||
}; |
|||
using (Image<Rgba32> img = useSpan |
|||
? Image.LoadPixelData<Rgba32>(data.AsSpan(), 2, 2) |
|||
: Image.LoadPixelData<Rgba32>(data, 2, 2)) |
|||
{ |
|||
Assert.NotNull(img); |
|||
Assert.Equal(Rgba32.Black, img[0, 0]); |
|||
Assert.Equal(Rgba32.White, img[0, 1]); |
|||
|
|||
Assert.Equal(Rgba32.White, img[1, 0]); |
|||
Assert.Equal(Rgba32.Black, img[1, 1]); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
Loading…
Reference in new issue