From fab1f3a5a04bde7948779f7d6ff7ab193143b793 Mon Sep 17 00:00:00 2001 From: James Jackson-South Date: Sat, 15 May 2021 15:49:25 +0100 Subject: [PATCH] Make XMP internal, minor cleanup --- .../Formats/Tiff/TiffDecoderCore.cs | 18 ++++++--------- .../Tiff/TiffDecoderMetadataCreator.cs | 11 +++------ .../Formats/Tiff/TiffFrameMetadata.cs | 23 ++++++++++--------- src/ImageSharp/Metadata/ImageFrameMetadata.cs | 2 +- 4 files changed, 23 insertions(+), 31 deletions(-) diff --git a/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs b/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs index 31c91c5906..b281d24532 100644 --- a/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs +++ b/src/ImageSharp/Formats/Tiff/TiffDecoderCore.cs @@ -120,22 +120,18 @@ namespace SixLabors.ImageSharp.Formats.Tiff ImageMetadata metadata = TiffDecoderMetadataCreator.Create(frames, tiffFramesMataData, this.ignoreMetadata, reader.ByteOrder); - // todo: tiff frames can have different sizes + // TODO: Tiff frames can have different sizes + ImageFrame root = frames[0]; + this.Dimensions = root.Size(); + foreach (ImageFrame frame in frames) { - ImageFrame root = frames[0]; - this.Dimensions = root.Size(); - foreach (ImageFrame frame in frames) + if (frame.Size() != root.Size()) { - if (frame.Size() != root.Size()) - { - TiffThrowHelper.ThrowNotSupported("Images with different sizes are not supported"); - } + TiffThrowHelper.ThrowNotSupported("Images with different sizes are not supported"); } } - var image = new Image(this.Configuration, metadata, frames); - - return image; + return new Image(this.Configuration, metadata, frames); } /// diff --git a/src/ImageSharp/Formats/Tiff/TiffDecoderMetadataCreator.cs b/src/ImageSharp/Formats/Tiff/TiffDecoderMetadataCreator.cs index 77d3d041c9..3376762979 100644 --- a/src/ImageSharp/Formats/Tiff/TiffDecoderMetadataCreator.cs +++ b/src/ImageSharp/Formats/Tiff/TiffDecoderMetadataCreator.cs @@ -20,7 +20,7 @@ namespace SixLabors.ImageSharp.Formats.Tiff public static ImageMetadata Create(List> frames, List framesMetaData, bool ignoreMetadata, ByteOrder byteOrder) where TPixel : unmanaged, IPixel { - DebugGuard.IsTrue(frames.Count() == framesMetaData.Count, nameof(frames), "Image frames and frames metdadata should be the same size."); + DebugGuard.IsTrue(frames.Count == framesMetaData.Count, nameof(frames), "Image frames and frames metadata should be the same size."); if (framesMetaData.Count < 1) { @@ -50,12 +50,9 @@ namespace SixLabors.ImageSharp.Formats.Tiff } } - if (imageMetaData.IptcProfile == null) + if (imageMetaData.IptcProfile == null && TryGetIptc(frameMetaData.ExifProfile.Values, out byte[] iptcBytes)) { - if (TryGetIptc(frameMetaData.ExifProfile.Values, out byte[] iptcBytes)) - { - imageMetaData.IptcProfile = new IptcProfile(iptcBytes); - } + imageMetaData.IptcProfile = new IptcProfile(iptcBytes); } if (imageMetaData.IccProfile == null) @@ -146,8 +143,6 @@ namespace SixLabors.ImageSharp.Formats.Tiff return true; } - - return false; } return false; diff --git a/src/ImageSharp/Formats/Tiff/TiffFrameMetadata.cs b/src/ImageSharp/Formats/Tiff/TiffFrameMetadata.cs index b5b8740637..e8ef6a2ffc 100644 --- a/src/ImageSharp/Formats/Tiff/TiffFrameMetadata.cs +++ b/src/ImageSharp/Formats/Tiff/TiffFrameMetadata.cs @@ -217,17 +217,18 @@ namespace SixLabors.ImageSharp.Formats.Tiff /// public IDeepCloneable DeepClone() { - var clone = new TiffFrameMetadata(); - - clone.FillOrder = this.FillOrder; - clone.Compression = this.Compression; - clone.FaxCompressionOptions = this.FaxCompressionOptions; - clone.SubfileType = this.SubfileType ?? TiffNewSubfileType.FullImage; - clone.OldSubfileType = this.OldSubfileType ?? TiffSubfileType.FullImage; - clone.HorizontalResolution = this.HorizontalResolution ?? ImageMetadata.DefaultHorizontalResolution; - clone.VerticalResolution = this.VerticalResolution ?? ImageMetadata.DefaultVerticalResolution; - clone.ResolutionUnit = this.ResolutionUnit; - clone.PlanarConfiguration = this.PlanarConfiguration; + var clone = new TiffFrameMetadata + { + FillOrder = this.FillOrder, + Compression = this.Compression, + FaxCompressionOptions = this.FaxCompressionOptions, + SubfileType = this.SubfileType ?? TiffNewSubfileType.FullImage, + OldSubfileType = this.OldSubfileType ?? TiffSubfileType.FullImage, + HorizontalResolution = this.HorizontalResolution ?? ImageMetadata.DefaultHorizontalResolution, + VerticalResolution = this.VerticalResolution ?? ImageMetadata.DefaultVerticalResolution, + ResolutionUnit = this.ResolutionUnit, + PlanarConfiguration = this.PlanarConfiguration + }; if (this.ColorMap != null) { diff --git a/src/ImageSharp/Metadata/ImageFrameMetadata.cs b/src/ImageSharp/Metadata/ImageFrameMetadata.cs index 761cce1c1b..ae298d5185 100644 --- a/src/ImageSharp/Metadata/ImageFrameMetadata.cs +++ b/src/ImageSharp/Metadata/ImageFrameMetadata.cs @@ -51,7 +51,7 @@ namespace SixLabors.ImageSharp.Metadata /// /// Gets or sets the XMP profile. /// - public byte[] XmpProfile { get; set; } + internal byte[] XmpProfile { get; set; } /// public ImageFrameMetadata DeepClone() => new ImageFrameMetadata(this);