From d033dbc810a0405bb00b07b18d470833a5de384c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fl=C3=B6ssie?= Date: Tue, 16 Jun 2020 10:52:56 +0200 Subject: [PATCH] Add 300dpi resolution to exported TIFFs (fixes #5787) --- rtengine/imageio.cc | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/rtengine/imageio.cc b/rtengine/imageio.cc index fce181c3f..aa18f1265 100644 --- a/rtengine/imageio.cc +++ b/rtengine/imageio.cc @@ -1483,6 +1483,19 @@ int ImageIO::saveTIFF (const Glib::ustring &fname, int bps, bool isFloat, bool u TIFFSetField (out, TIFFTAG_COMPRESSION, uncompressed ? COMPRESSION_NONE : COMPRESSION_ADOBE_DEFLATE); TIFFSetField (out, TIFFTAG_SAMPLEFORMAT, (bps == 16 || bps == 32) && isFloat ? SAMPLEFORMAT_IEEEFP : SAMPLEFORMAT_UINT); + [out]() + { + const std::vector default_tags = rtexif::ExifManager::getDefaultTIFFTags(nullptr); + + TIFFSetField (out, TIFFTAG_XRESOLUTION, default_tags[2]->toDouble()); + TIFFSetField (out, TIFFTAG_YRESOLUTION, default_tags[3]->toDouble()); + TIFFSetField (out, TIFFTAG_RESOLUTIONUNIT, default_tags[4]->toInt()); + + for (auto default_tag : default_tags) { + delete default_tag; + } + }(); + if (!uncompressed) { TIFFSetField (out, TIFFTAG_PREDICTOR, (bps == 16 || bps == 32) && isFloat ? PREDICTOR_FLOATINGPOINT : PREDICTOR_HORIZONTAL); }