diff --git a/src/ImageSharp/Formats/Tiff/TiffDecoderMetadataCreator.cs b/src/ImageSharp/Formats/Tiff/TiffDecoderMetadataCreator.cs
index 327e366331..aa44b0b035 100644
--- a/src/ImageSharp/Formats/Tiff/TiffDecoderMetadataCreator.cs
+++ b/src/ImageSharp/Formats/Tiff/TiffDecoderMetadataCreator.cs
@@ -54,24 +54,6 @@ namespace SixLabors.ImageSharp.Formats.Tiff
}
}
- if (coreMetadata.ExifProfile == null && frame.ExifProfile != null)
- {
- coreMetadata.ExifProfile = frame.ExifProfile.DeepClone();
-
- // Remove Tiff specific tags from the profile.
- coreMetadata.ExifProfile.RemoveValue(ExifTag.ImageWidth);
- coreMetadata.ExifProfile.RemoveValue(ExifTag.ImageLength);
- coreMetadata.ExifProfile.RemoveValue(ExifTag.ResolutionUnit);
- coreMetadata.ExifProfile.RemoveValue(ExifTag.Predictor);
- coreMetadata.ExifProfile.RemoveValue(ExifTag.PlanarConfiguration);
- coreMetadata.ExifProfile.RemoveValue(ExifTag.PhotometricInterpretation);
- coreMetadata.ExifProfile.RemoveValue(ExifTag.BitsPerSample);
- coreMetadata.ExifProfile.RemoveValue(ExifTag.ColorMap);
- coreMetadata.ExifProfile.RemoveValue(ExifTag.Compression);
- coreMetadata.ExifProfile.RemoveValue(ExifTag.StripOffsets);
- coreMetadata.ExifProfile.RemoveValue(ExifTag.StripByteCounts);
- }
-
if (coreMetadata.IptcProfile == null)
{
if (TryGetIptc(frame.ExifProfile.Values, out byte[] iptcBytes))
diff --git a/src/ImageSharp/Formats/Tiff/TiffEncoderEntriesCollector.cs b/src/ImageSharp/Formats/Tiff/TiffEncoderEntriesCollector.cs
index 4916a9804c..f20395221e 100644
--- a/src/ImageSharp/Formats/Tiff/TiffEncoderEntriesCollector.cs
+++ b/src/ImageSharp/Formats/Tiff/TiffEncoderEntriesCollector.cs
@@ -177,15 +177,15 @@ namespace SixLabors.ImageSharp.Formats.Tiff
private void ProcessProfiles(ImageMetadata imageMetadata, TiffFrameMetadata tiffFrameMetadata)
{
- if (imageMetadata.ExifProfile != null && imageMetadata.ExifProfile.Parts != ExifParts.None)
+ ExifProfile exifProfile = tiffFrameMetadata.ExifProfile;
+ if (exifProfile != null && exifProfile.Parts != ExifParts.None)
{
- imageMetadata.SyncProfiles();
- foreach (IExifValue entry in imageMetadata.ExifProfile.Values)
+ foreach (IExifValue entry in exifProfile.Values)
{
if (!this.collector.Entries.Exists(t => t.Tag == entry.Tag) && entry.GetValue() != null)
{
ExifParts entryPart = ExifTags.GetPart(entry.Tag);
- if (entryPart != ExifParts.None && imageMetadata.ExifProfile.Parts.HasFlag(entryPart))
+ if (entryPart != ExifParts.None && exifProfile.Parts.HasFlag(entryPart))
{
this.collector.AddOrReplace(entry.DeepClone());
}
diff --git a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs
index 23d29b4ebf..208222a857 100644
--- a/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs
+++ b/tests/ImageSharp.Tests/Metadata/Profiles/Exif/ExifProfileTests.cs
@@ -28,12 +28,7 @@ namespace SixLabors.ImageSharp.Tests
///
/// Writes a png file.
///
- Png,
-
- ///
- /// Writes a tiff file.
- ///
- Tiff,
+ Png
}
private static readonly Dictionary TestProfileValues = new Dictionary
@@ -97,7 +92,6 @@ namespace SixLabors.ImageSharp.Tests
[Theory]
[InlineData(TestImageWriteFormat.Jpeg)]
[InlineData(TestImageWriteFormat.Png)]
- [InlineData(TestImageWriteFormat.Tiff)]
public void WriteFraction(TestImageWriteFormat imageFormat)
{
using (var memStream = new MemoryStream())
@@ -141,7 +135,6 @@ namespace SixLabors.ImageSharp.Tests
[Theory]
[InlineData(TestImageWriteFormat.Jpeg)]
[InlineData(TestImageWriteFormat.Png)]
- [InlineData(TestImageWriteFormat.Tiff)]
public void ReadWriteInfinity(TestImageWriteFormat imageFormat)
{
Image image = TestFile.Create(TestImages.Jpeg.Baseline.Floorplan).CreateRgba32Image();
@@ -175,7 +168,6 @@ namespace SixLabors.ImageSharp.Tests
https://exiftool.org/TagNames/EXIF.html */
[InlineData(TestImageWriteFormat.Jpeg, 16)]
[InlineData(TestImageWriteFormat.Png, 16)]
- [InlineData(TestImageWriteFormat.Tiff, 16)]
public void SetValue(TestImageWriteFormat imageFormat, int expectedProfileValueCount)
{
Image image = TestFile.Create(TestImages.Jpeg.Baseline.Floorplan).CreateRgba32Image();
@@ -411,7 +403,6 @@ namespace SixLabors.ImageSharp.Tests
[Theory]
[InlineData(TestImageWriteFormat.Jpeg)]
[InlineData(TestImageWriteFormat.Png)]
- [InlineData(TestImageWriteFormat.Tiff)]
public void WritingImagePreservesExifProfile(TestImageWriteFormat imageFormat)
{
// Arrange
@@ -486,8 +477,6 @@ namespace SixLabors.ImageSharp.Tests
return WriteAndReadJpeg(image);
case TestImageWriteFormat.Png:
return WriteAndReadPng(image);
- case TestImageWriteFormat.Tiff:
- return WriteAndReadTiff(image);
default:
throw new ArgumentException("Unexpected test image format, only Jpeg, Png and Tiff are allowed");
}