public static ImageMetadata Create<TPixel>(List<ImageFrame<TPixel>> frames, bool ignoreMetadata, ByteOrder byteOrder) where TPixel : unmanaged, IPixel<TPixel> { if (frames.Count < 1) { TiffThrowHelper.ThrowImageFormatException("Expected at least one frame."); } var imageMetaData = new ImageMetadata(); ExifProfile exifProfileRootFrame = frames[0].Metadata.ExifProfile; SetResolution(imageMetaData, exifProfileRootFrame); TiffMetadata tiffMetadata = imageMetaData.GetTiffMetadata(); tiffMetadata.ByteOrder = byteOrder; if (!ignoreMetadata) { for (int i = 0; i < frames.Count; i++) { ImageFrame<TPixel> frame = frames[i]; ImageFrameMetadata frameMetaData = frame.Metadata; if (TryGetIptc(frameMetaData.ExifProfile.Values, out byte[] iptcBytes))