using System; using SixLabors.ImageSharp.Advanced; using SixLabors.ImageSharp.PixelFormats; using Xunit; namespace SixLabors.ImageSharp.Tests { public class ImageCloneTests { [Theory] [WithTestPatternImages(9, 9, PixelTypes.Rgba32)] public void CloneAs_ToBgra32(TestImageProvider provider) { using (Image image = provider.GetImage()) using (Image clone = image.CloneAs()) { for (int y = 0; y < image.Height; y++) { Span row = image.GetPixelRowSpan(y); Span rowClone = clone.GetPixelRowSpan(y); for (int x = 0; x < image.Width; x++) { Rgba32 rgba = row[x]; Bgra32 bgra = rowClone[x]; Assert.Equal(rgba.R, bgra.R); Assert.Equal(rgba.G, bgra.G); Assert.Equal(rgba.B, bgra.B); Assert.Equal(rgba.A, bgra.A); } } } } } }