Browse Source

Simplify format specific metadata retrieval.

af/merge-core
James Jackson-South 6 years ago
parent
commit
dfd2b641d5
  1. 2
      src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs
  2. 2
      src/ImageSharp/Formats/Bmp/BmpEncoderCore.cs
  3. 21
      src/ImageSharp/Formats/Bmp/MetadataExtensions.cs
  4. 4
      src/ImageSharp/Formats/Gif/GifDecoderCore.cs
  5. 6
      src/ImageSharp/Formats/Gif/GifEncoderCore.cs
  6. 28
      src/ImageSharp/Formats/Gif/MetadataExtensions.cs
  7. 2
      src/ImageSharp/Formats/Jpeg/JpegEncoderCore.cs
  8. 21
      src/ImageSharp/Formats/Jpeg/MetadataExtensions.cs
  9. 21
      src/ImageSharp/Formats/Png/MetadataExtensions.cs
  10. 4
      src/ImageSharp/Formats/Png/PngDecoderCore.cs
  11. 21
      src/ImageSharp/Formats/Tga/MetadataExtensions.cs
  12. 2
      src/ImageSharp/Formats/Tga/TgaDecoderCore.cs
  13. 2
      src/ImageSharp/Formats/Tga/TgaEncoderCore.cs
  14. 2
      tests/ImageSharp.Tests/Formats/Bmp/BmpEncoderTests.cs
  15. 2
      tests/ImageSharp.Tests/Formats/Bmp/BmpMetaDataTests.cs
  16. 12
      tests/ImageSharp.Tests/Formats/Gif/GifEncoderTests.cs
  17. 8
      tests/ImageSharp.Tests/Formats/Gif/GifMetaDataTests.cs
  18. 4
      tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.MetaData.cs
  19. 2
      tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.cs
  20. 6
      tests/ImageSharp.Tests/Formats/Png/PngEncoderTests.cs
  21. 4
      tests/ImageSharp.Tests/Formats/Tga/TgaEncoderTests.cs
  22. 4
      tests/ImageSharp.Tests/Image/ImageFrameCollectionTests.NonGeneric.cs
  23. 6
      tests/ImageSharp.Tests/MetaData/ImageFrameMetaDataTests.cs

2
src/ImageSharp/Formats/Bmp/BmpDecoderCore.cs

@ -1321,7 +1321,7 @@ namespace SixLabors.ImageSharp.Formats.Bmp
this.metadata = meta;
short bitsPerPixel = this.infoHeader.BitsPerPixel;
this.bmpMetadata = this.metadata.GetFormatMetadata(BmpFormat.Instance);
this.bmpMetadata = this.metadata.GetBmpMetadata();
this.bmpMetadata.InfoHeaderType = infoHeaderType;
// We can only encode at these bit rates so far (1 bit and 4 bit are still missing).

2
src/ImageSharp/Formats/Bmp/BmpEncoderCore.cs

@ -105,7 +105,7 @@ namespace SixLabors.ImageSharp.Formats.Bmp
this.configuration = image.GetConfiguration();
ImageMetadata metadata = image.Metadata;
BmpMetadata bmpMetadata = metadata.GetFormatMetadata(BmpFormat.Instance);
BmpMetadata bmpMetadata = metadata.GetBmpMetadata();
this.bitsPerPixel = this.bitsPerPixel ?? bmpMetadata.BitsPerPixel;
short bpp = (short)this.bitsPerPixel;

21
src/ImageSharp/Formats/Bmp/MetadataExtensions.cs

@ -0,0 +1,21 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.Formats.Bmp;
using SixLabors.ImageSharp.Metadata;
namespace SixLabors.ImageSharp
{
/// <summary>
/// Extension methods for the <see cref="ImageMetadata"/> type.
/// </summary>
public static partial class MetadataExtensions
{
/// <summary>
/// Gets the bmp format specific metadata for the image.
/// </summary>
/// <param name="metadata">The metadata this method extends.</param>
/// <returns>The <see cref="BmpMetadata"/>.</returns>
public static BmpMetadata GetBmpMetadata(this ImageMetadata metadata) => metadata.GetFormatMetadata(BmpFormat.Instance);
}
}

4
src/ImageSharp/Formats/Gif/GifDecoderCore.cs

@ -553,7 +553,7 @@ namespace SixLabors.ImageSharp.Formats.Gif
[MethodImpl(MethodImplOptions.AggressiveInlining)]
private void SetFrameMetadata(ImageFrameMetadata meta)
{
GifFrameMetadata gifMeta = meta.GetFormatMetadata(GifFormat.Instance);
GifFrameMetadata gifMeta = meta.GetGifMetadata();
if (this.graphicsControlExtension.DelayTime > 0)
{
gifMeta.FrameDelay = this.graphicsControlExtension.DelayTime;
@ -615,7 +615,7 @@ namespace SixLabors.ImageSharp.Formats.Gif
}
this.metadata = meta;
this.gifMetadata = meta.GetFormatMetadata(GifFormat.Instance);
this.gifMetadata = meta.GetGifMetadata();
this.gifMetadata.ColorTableMode = this.logicalScreenDescriptor.GlobalColorTableFlag
? GifColorTableMode.Global
: GifColorTableMode.Local;

6
src/ImageSharp/Formats/Gif/GifEncoderCore.cs

@ -78,7 +78,7 @@ namespace SixLabors.ImageSharp.Formats.Gif
this.configuration = image.GetConfiguration();
ImageMetadata metadata = image.Metadata;
GifMetadata gifMetadata = metadata.GetFormatMetadata(GifFormat.Instance);
GifMetadata gifMetadata = metadata.GetGifMetadata();
this.colorTableMode = this.colorTableMode ?? gifMetadata.ColorTableMode;
bool useGlobalTable = this.colorTableMode == GifColorTableMode.Global;
@ -136,7 +136,7 @@ namespace SixLabors.ImageSharp.Formats.Gif
{
ImageFrame<TPixel> frame = image.Frames[i];
ImageFrameMetadata metadata = frame.Metadata;
GifFrameMetadata frameMetadata = metadata.GetFormatMetadata(GifFormat.Instance);
GifFrameMetadata frameMetadata = metadata.GetGifMetadata();
this.WriteGraphicalControlExtension(frameMetadata, transparencyIndex, stream);
this.WriteImageDescriptor(frame, false, stream);
@ -166,7 +166,7 @@ namespace SixLabors.ImageSharp.Formats.Gif
foreach (ImageFrame<TPixel> frame in image.Frames)
{
ImageFrameMetadata metadata = frame.Metadata;
GifFrameMetadata frameMetadata = metadata.GetFormatMetadata(GifFormat.Instance);
GifFrameMetadata frameMetadata = metadata.GetGifMetadata();
if (quantized is null)
{
// Allow each frame to be encoded at whatever color depth the frame designates if set.

28
src/ImageSharp/Formats/Gif/MetadataExtensions.cs

@ -0,0 +1,28 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.Formats.Gif;
using SixLabors.ImageSharp.Metadata;
namespace SixLabors.ImageSharp
{
/// <summary>
/// Extension methods for the <see cref="ImageMetadata"/> type.
/// </summary>
public static partial class MetadataExtensions
{
/// <summary>
/// Gets the gif format specific metadata for the image.
/// </summary>
/// <param name="metadata">The metadata this method extends.</param>
/// <returns>The <see cref="GifMetadata"/>.</returns>
public static GifMetadata GetGifMetadata(this ImageMetadata metadata) => metadata.GetFormatMetadata(GifFormat.Instance);
/// <summary>
/// Gets the gif format specific metadata for the image frame.
/// </summary>
/// <param name="metadata">The metadata this method extends.</param>
/// <returns>The <see cref="GifFrameMetadata"/>.</returns>
public static GifFrameMetadata GetGifMetadata(this ImageFrameMetadata metadata) => metadata.GetFormatMetadata(GifFormat.Instance);
}
}

2
src/ImageSharp/Formats/Jpeg/JpegEncoderCore.cs

@ -206,7 +206,7 @@ namespace SixLabors.ImageSharp.Formats.Jpeg
ImageMetadata metadata = image.Metadata;
// System.Drawing produces identical output for jpegs with a quality parameter of 0 and 1.
int qlty = (this.quality ?? metadata.GetFormatMetadata(JpegFormat.Instance).Quality).Clamp(1, 100);
int qlty = (this.quality ?? metadata.GetJpegMetadata().Quality).Clamp(1, 100);
this.subsample = this.subsample ?? (qlty >= 91 ? JpegSubsample.Ratio444 : JpegSubsample.Ratio420);
// Convert from a quality rating to a scaling factor.

21
src/ImageSharp/Formats/Jpeg/MetadataExtensions.cs

@ -0,0 +1,21 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.Formats.Jpeg;
using SixLabors.ImageSharp.Metadata;
namespace SixLabors.ImageSharp
{
/// <summary>
/// Extension methods for the <see cref="ImageMetadata"/> type.
/// </summary>
public static partial class MetadataExtensions
{
/// <summary>
/// Gets the jpeg format specific metadata for the image.
/// </summary>
/// <param name="metadata">The metadata this method extends.</param>
/// <returns>The <see cref="JpegMetadata"/>.</returns>
public static JpegMetadata GetJpegMetadata(this ImageMetadata metadata) => metadata.GetFormatMetadata(JpegFormat.Instance);
}
}

21
src/ImageSharp/Formats/Png/MetadataExtensions.cs

@ -0,0 +1,21 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.Formats.Png;
using SixLabors.ImageSharp.Metadata;
namespace SixLabors.ImageSharp
{
/// <summary>
/// Extension methods for the <see cref="ImageMetadata"/> type.
/// </summary>
public static partial class MetadataExtensions
{
/// <summary>
/// Gets the png format specific metadata for the image.
/// </summary>
/// <param name="metadata">The metadata this method extends.</param>
/// <returns>The <see cref="PngMetadata"/>.</returns>
public static PngMetadata GetPngMetadata(this ImageMetadata metadata) => metadata.GetFormatMetadata(PngFormat.Instance);
}
}

4
src/ImageSharp/Formats/Png/PngDecoderCore.cs

@ -149,7 +149,7 @@ namespace SixLabors.ImageSharp.Formats.Png
where TPixel : struct, IPixel<TPixel>
{
var metadata = new ImageMetadata();
PngMetadata pngMetadata = metadata.GetFormatMetadata(PngFormat.Instance);
PngMetadata pngMetadata = metadata.GetPngMetadata();
this.currentStream = stream;
this.currentStream.Skip(8);
Image<TPixel> image = null;
@ -240,7 +240,7 @@ namespace SixLabors.ImageSharp.Formats.Png
public IImageInfo Identify(Stream stream)
{
var metadata = new ImageMetadata();
PngMetadata pngMetadata = metadata.GetFormatMetadata(PngFormat.Instance);
PngMetadata pngMetadata = metadata.GetPngMetadata();
this.currentStream = stream;
this.currentStream.Skip(8);
try

21
src/ImageSharp/Formats/Tga/MetadataExtensions.cs

@ -0,0 +1,21 @@
// Copyright (c) Six Labors and contributors.
// Licensed under the Apache License, Version 2.0.
using SixLabors.ImageSharp.Formats.Tga;
using SixLabors.ImageSharp.Metadata;
namespace SixLabors.ImageSharp
{
/// <summary>
/// Extension methods for the <see cref="ImageMetadata"/> type.
/// </summary>
public static partial class MetadataExtensions
{
/// <summary>
/// Gets the tga format specific metadata for the image.
/// </summary>
/// <param name="metadata">The metadata this method extends.</param>
/// <returns>The <see cref="TgaMetadata"/>.</returns>
public static TgaMetadata GetTgaMetadata(this ImageMetadata metadata) => metadata.GetFormatMetadata(TgaFormat.Instance);
}
}

2
src/ImageSharp/Formats/Tga/TgaDecoderCore.cs

@ -573,7 +573,7 @@ namespace SixLabors.ImageSharp.Formats.Tga
this.currentStream.Read(buffer, 0, TgaFileHeader.Size);
this.fileHeader = TgaFileHeader.Parse(buffer);
this.metadata = new ImageMetadata();
this.tgaMetadata = this.metadata.GetFormatMetadata(TgaFormat.Instance);
this.tgaMetadata = this.metadata.GetTgaMetadata();
this.tgaMetadata.BitsPerPixel = (TgaBitsPerPixel)this.fileHeader.PixelDepth;
// Bit at position 5 of the descriptor indicates, that the origin is top left instead of bottom right.

2
src/ImageSharp/Formats/Tga/TgaEncoderCore.cs

@ -71,7 +71,7 @@ namespace SixLabors.ImageSharp.Formats.Tga
this.configuration = image.GetConfiguration();
ImageMetadata metadata = image.Metadata;
TgaMetadata tgaMetadata = metadata.GetFormatMetadata(TgaFormat.Instance);
TgaMetadata tgaMetadata = metadata.GetTgaMetadata();
this.bitsPerPixel = this.bitsPerPixel ?? tgaMetadata.BitsPerPixel;
TgaImageType imageType = this.compression is TgaCompression.RunLength ? TgaImageType.RleTrueColor : TgaImageType.TrueColor;

2
tests/ImageSharp.Tests/Formats/Bmp/BmpEncoderTests.cs

@ -89,7 +89,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Bmp
memStream.Position = 0;
using (var output = Image.Load<Rgba32>(memStream))
{
BmpMetadata meta = output.Metadata.GetFormatMetadata(BmpFormat.Instance);
BmpMetadata meta = output.Metadata.GetBmpMetadata();
Assert.Equal(bmpBitsPerPixel, meta.BitsPerPixel);
}

2
tests/ImageSharp.Tests/Formats/Bmp/BmpMetaDataTests.cs

@ -41,7 +41,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Bmp
{
IImageInfo imageInfo = Image.Identify(stream);
Assert.NotNull(imageInfo);
BmpMetadata bitmapMetaData = imageInfo.Metadata.GetFormatMetadata(BmpFormat.Instance);
BmpMetadata bitmapMetaData = imageInfo.Metadata.GetBmpMetadata();
Assert.NotNull(bitmapMetaData);
Assert.Equal(expectedInfoHeaderType, bitmapMetaData.InfoHeaderType);
}

12
tests/ImageSharp.Tests/Formats/Gif/GifEncoderTests.cs

@ -92,7 +92,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif
memStream.Position = 0;
using (var output = Image.Load<Rgba32>(memStream))
{
GifMetadata metadata = output.Metadata.GetFormatMetadata(GifFormat.Instance);
GifMetadata metadata = output.Metadata.GetGifMetadata();
Assert.Equal(1, metadata.Comments.Count);
Assert.Equal("ImageSharp", metadata.Comments[0]);
}
@ -135,8 +135,8 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif
inStream.Position = 0;
var image = Image.Load<Rgba32>(inStream);
GifMetadata metaData = image.Metadata.GetFormatMetadata(GifFormat.Instance);
GifFrameMetadata frameMetaData = image.Frames.RootFrame.Metadata.GetFormatMetadata(GifFormat.Instance);
GifMetadata metaData = image.Metadata.GetGifMetadata();
GifFrameMetadata frameMetaData = image.Frames.RootFrame.Metadata.GetGifMetadata();
GifColorTableMode colorMode = metaData.ColorTableMode;
var encoder = new GifEncoder
{
@ -150,7 +150,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif
outStream.Position = 0;
var clone = Image.Load<Rgba32>(outStream);
GifMetadata cloneMetaData = clone.Metadata.GetFormatMetadata(GifFormat.Instance);
GifMetadata cloneMetaData = clone.Metadata.GetGifMetadata();
Assert.Equal(metaData.ColorTableMode, cloneMetaData.ColorTableMode);
// Gifiddle and Cyotek GifInfo say this image has 64 colors.
@ -158,8 +158,8 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif
for (int i = 0; i < image.Frames.Count; i++)
{
GifFrameMetadata ifm = image.Frames[i].Metadata.GetFormatMetadata(GifFormat.Instance);
GifFrameMetadata cifm = clone.Frames[i].Metadata.GetFormatMetadata(GifFormat.Instance);
GifFrameMetadata ifm = image.Frames[i].Metadata.GetGifMetadata();
GifFrameMetadata cifm = clone.Frames[i].Metadata.GetGifMetadata();
Assert.Equal(ifm.ColorTableLength, cifm.ColorTableLength);
Assert.Equal(ifm.FrameDelay, cifm.FrameDelay);

8
tests/ImageSharp.Tests/Formats/Gif/GifMetaDataTests.cs

@ -59,7 +59,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif
using (Image<Rgba32> image = testFile.CreateRgba32Image(options))
{
GifMetadata metadata = image.Metadata.GetFormatMetadata(GifFormat.Instance);
GifMetadata metadata = image.Metadata.GetGifMetadata();
Assert.Equal(1, metadata.Comments.Count);
Assert.Equal("ImageSharp", metadata.Comments[0]);
}
@ -77,7 +77,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif
using (Image<Rgba32> image = testFile.CreateRgba32Image(options))
{
GifMetadata metadata = image.Metadata.GetFormatMetadata(GifFormat.Instance);
GifMetadata metadata = image.Metadata.GetGifMetadata();
Assert.Equal(0, metadata.Comments.Count);
}
}
@ -90,7 +90,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif
using (Image<Rgba32> image = testFile.CreateRgba32Image(options))
{
GifMetadata metadata = image.Metadata.GetFormatMetadata(GifFormat.Instance);
GifMetadata metadata = image.Metadata.GetGifMetadata();
Assert.Equal(2, metadata.Comments.Count);
Assert.Equal(new string('c', 349), metadata.Comments[0]);
Assert.Equal("ImageSharp", metadata.Comments[1]);
@ -111,7 +111,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Gif
using (Image<Rgba32> image = decoder.Decode<Rgba32>(Configuration.Default, memoryStream))
{
GifMetadata metadata = image.Metadata.GetFormatMetadata(GifFormat.Instance);
GifMetadata metadata = image.Metadata.GetGifMetadata();
Assert.Equal(2, metadata.Comments.Count);
Assert.Equal(new string('c', 349), metadata.Comments[0]);
Assert.Equal("ImageSharp", metadata.Comments[1]);

4
tests/ImageSharp.Tests/Formats/Jpg/JpegDecoderTests.MetaData.cs

@ -118,7 +118,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
{
var decoder = new JpegDecoder();
IImageInfo image = decoder.Identify(Configuration.Default, stream);
JpegMetadata meta = image.Metadata.GetFormatMetadata(JpegFormat.Instance);
JpegMetadata meta = image.Metadata.GetJpegMetadata();
Assert.Equal(quality, meta.Quality);
}
}
@ -133,7 +133,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
var decoder = new JpegDecoder();
using (Image<Rgba32> image = decoder.Decode<Rgba32>(Configuration.Default, stream))
{
JpegMetadata meta = image.Metadata.GetFormatMetadata(JpegFormat.Instance);
JpegMetadata meta = image.Metadata.GetJpegMetadata();
Assert.Equal(quality, meta.Quality);
}
}

2
tests/ImageSharp.Tests/Formats/Jpg/JpegEncoderTests.cs

@ -57,7 +57,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
memStream.Position = 0;
using (var output = Image.Load<Rgba32>(memStream))
{
JpegMetadata meta = output.Metadata.GetFormatMetadata(JpegFormat.Instance);
JpegMetadata meta = output.Metadata.GetJpegMetadata();
Assert.Equal(quality, meta.Quality);
}
}

6
tests/ImageSharp.Tests/Formats/Png/PngEncoderTests.cs

@ -280,7 +280,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png
memStream.Position = 0;
using (var output = Image.Load<Rgba32>(memStream))
{
PngMetadata meta = output.Metadata.GetFormatMetadata(PngFormat.Instance);
PngMetadata meta = output.Metadata.GetPngMetadata();
Assert.Equal(pngBitDepth, meta.BitDepth);
}
@ -297,7 +297,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png
var testFile = TestFile.Create(imagePath);
using (Image<Rgba32> input = testFile.CreateRgba32Image())
{
PngMetadata inMeta = input.Metadata.GetFormatMetadata(PngFormat.Instance);
PngMetadata inMeta = input.Metadata.GetPngMetadata();
Assert.True(inMeta.HasTransparency);
using (var memStream = new MemoryStream())
@ -306,7 +306,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Png
memStream.Position = 0;
using (var output = Image.Load<Rgba32>(memStream))
{
PngMetadata outMeta = output.Metadata.GetFormatMetadata(PngFormat.Instance);
PngMetadata outMeta = output.Metadata.GetPngMetadata();
Assert.True(outMeta.HasTransparency);
switch (pngColorType)

4
tests/ImageSharp.Tests/Formats/Tga/TgaEncoderTests.cs

@ -47,7 +47,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tga
memStream.Position = 0;
using (Image<Rgba32> output = Image.Load<Rgba32>(memStream))
{
TgaMetadata meta = output.Metadata.GetFormatMetadata(TgaFormat.Instance);
TgaMetadata meta = output.Metadata.GetTgaMetadata();
Assert.Equal(bmpBitsPerPixel, meta.BitsPerPixel);
}
}
@ -72,7 +72,7 @@ namespace SixLabors.ImageSharp.Tests.Formats.Tga
memStream.Position = 0;
using (Image<Rgba32> output = Image.Load<Rgba32>(memStream))
{
TgaMetadata meta = output.Metadata.GetFormatMetadata(TgaFormat.Instance);
TgaMetadata meta = output.Metadata.GetTgaMetadata();
Assert.Equal(bmpBitsPerPixel, meta.BitsPerPixel);
}
}

4
tests/ImageSharp.Tests/Image/ImageFrameCollectionTests.NonGeneric.cs

@ -312,8 +312,8 @@ namespace SixLabors.ImageSharp.Tests
{
// TODO: all metadata classes should be equatable!
GifFrameMetadata aData = a.Metadata.GetFormatMetadata(GifFormat.Instance);
GifFrameMetadata bData = b.Metadata.GetFormatMetadata(GifFormat.Instance);
GifFrameMetadata aData = a.Metadata.GetGifMetadata();
GifFrameMetadata bData = b.Metadata.GetGifMetadata();
Assert.Equal(aData.DisposalMethod, bData.DisposalMethod);
Assert.Equal(aData.FrameDelay, bData.FrameDelay);

6
tests/ImageSharp.Tests/MetaData/ImageFrameMetaDataTests.cs

@ -20,13 +20,13 @@ namespace SixLabors.ImageSharp.Tests
const GifDisposalMethod disposalMethod = GifDisposalMethod.RestoreToBackground;
var metaData = new ImageFrameMetadata();
GifFrameMetadata gifFrameMetaData = metaData.GetFormatMetadata(GifFormat.Instance);
GifFrameMetadata gifFrameMetaData = metaData.GetGifMetadata();
gifFrameMetaData.FrameDelay = frameDelay;
gifFrameMetaData.ColorTableLength = colorTableLength;
gifFrameMetaData.DisposalMethod = disposalMethod;
var clone = new ImageFrameMetadata(metaData);
GifFrameMetadata cloneGifFrameMetaData = clone.GetFormatMetadata(GifFormat.Instance);
GifFrameMetadata cloneGifFrameMetaData = clone.GetGifMetadata();
Assert.Equal(frameDelay, cloneGifFrameMetaData.FrameDelay);
Assert.Equal(colorTableLength, cloneGifFrameMetaData.ColorTableLength);
@ -38,7 +38,7 @@ namespace SixLabors.ImageSharp.Tests
{
var metaData = new ImageFrameMetadata();
ImageFrameMetadata clone = metaData.DeepClone();
Assert.False(metaData.GetFormatMetadata(GifFormat.Instance).Equals(clone.GetFormatMetadata(GifFormat.Instance)));
Assert.False(metaData.GetGifMetadata().Equals(clone.GetGifMetadata()));
}
}
}

Loading…
Cancel
Save