|
|
|
@ -2,6 +2,7 @@ |
|
|
|
// Licensed under the Six Labors Split License.
|
|
|
|
|
|
|
|
using SixLabors.ImageSharp.Metadata.Profiles.Icc; |
|
|
|
using SixLabors.ImageSharp.PixelFormats; |
|
|
|
using SixLabors.ImageSharp.Tests.TestDataIcc; |
|
|
|
|
|
|
|
namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Icc; |
|
|
|
@ -9,6 +10,27 @@ namespace SixLabors.ImageSharp.Tests.Metadata.Profiles.Icc; |
|
|
|
[Trait("Profile", "Icc")] |
|
|
|
public class IccReaderTests |
|
|
|
{ |
|
|
|
[Theory] |
|
|
|
[WithFile(TestImages.Jpeg.ICC.AdobeRgb, PixelTypes.Rgb24, 10, IccColorSpaceType.Rgb, IccColorSpaceType.CieXyz, 560)] |
|
|
|
[WithFile(TestImages.Jpeg.ICC.AppleRGB, PixelTypes.Rgb24, 10, IccColorSpaceType.Rgb, IccColorSpaceType.CieXyz, 552)] |
|
|
|
[WithFile(TestImages.Jpeg.ICC.ColorMatch, PixelTypes.Rgb24, 10, IccColorSpaceType.Rgb, IccColorSpaceType.CieXyz, 560)] |
|
|
|
[WithFile(TestImages.Jpeg.ICC.WideRGB, PixelTypes.Rgb24, 10, IccColorSpaceType.Rgb, IccColorSpaceType.CieXyz, 560)] |
|
|
|
[WithFile(TestImages.Jpeg.ICC.SRgb, PixelTypes.Rgb24, 17, IccColorSpaceType.Rgb, IccColorSpaceType.CieXyz, 3144)] |
|
|
|
[WithFile(TestImages.Jpeg.ICC.ProPhoto, PixelTypes.Rgb24, 12, IccColorSpaceType.Rgb, IccColorSpaceType.CieXyz, 940)] |
|
|
|
[WithFile(TestImages.Jpeg.ICC.CMYK, PixelTypes.Rgb24, 10, IccColorSpaceType.Cmyk, IccColorSpaceType.CieLab, 557168)] |
|
|
|
public void ReadProfile_Works<TPixel>(TestImageProvider<TPixel> provider, int expectedEntries, IccColorSpaceType expectedDataColorSpace, IccColorSpaceType expectedConnectionSpace, uint expectedDataSize) |
|
|
|
where TPixel : unmanaged, IPixel<TPixel> |
|
|
|
{ |
|
|
|
using Image<TPixel> image = provider.GetImage(); |
|
|
|
IccProfile profile = image.Metadata.IccProfile; |
|
|
|
|
|
|
|
Assert.NotNull(profile); |
|
|
|
Assert.Equal(expectedEntries, profile.Entries.Length); |
|
|
|
Assert.Equal(expectedDataColorSpace, profile.Header.DataColorSpace); |
|
|
|
Assert.Equal(expectedConnectionSpace, profile.Header.ProfileConnectionSpace); |
|
|
|
Assert.Equal(expectedDataSize, profile.Header.Size); |
|
|
|
} |
|
|
|
|
|
|
|
[Fact] |
|
|
|
public void ReadProfile_NoEntries() |
|
|
|
{ |
|
|
|
|