From dca6e87c893ef450aaf8d01cb3d409fa163a95b0 Mon Sep 17 00:00:00 2001 From: Daniel Novomesky Date: Fri, 14 May 2021 12:30:28 +0200 Subject: [PATCH] Enable HEIC plugin to save all ICC profiles --- src/imageformats/heif.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/imageformats/heif.cpp b/src/imageformats/heif.cpp index 1db06dd..15f1b6d 100644 --- a/src/imageformats/heif.cpp +++ b/src/imageformats/heif.cpp @@ -137,12 +137,10 @@ bool HEIFHandler::write(const QImage &image) heif::Image heifImage; heifImage.create(tmpimage.width(), tmpimage.height(), heif_colorspace_RGB, chroma); - if (tmpimage.colorSpace().isValid()) { - QByteArray iccprofile = tmpimage.colorSpace().iccProfile(); - if (iccprofile.size() > 0) { - std::vector rawProfile(iccprofile.begin(), iccprofile.end()); - heifImage.set_raw_color_profile(heif_color_profile_type_prof, rawProfile); - } + QByteArray iccprofile = tmpimage.colorSpace().iccProfile(); + if (iccprofile.size() > 0) { + std::vector rawProfile(iccprofile.begin(), iccprofile.end()); + heifImage.set_raw_color_profile(heif_color_profile_type_prof, rawProfile); } heifImage.add_plane(heif_channel_interleaved, image.width(), image.height(), save_depth); @@ -617,7 +615,7 @@ bool HEIFHandler::ensureDecoder() } else { m_current_image.setColorSpace(QColorSpace::fromIccProfile(ba)); if (!m_current_image.colorSpace().isValid()) { - qWarning() << "icc profile is invalid"; + qWarning() << "HEIC image has Qt-unsupported or invalid ICC profile!"; } } } else { @@ -679,7 +677,7 @@ bool HEIFHandler::ensureDecoder() heif_nclx_color_profile_free(nclx); if (!m_current_image.colorSpace().isValid()) { - qWarning() << "invalid color profile created from NCLX"; + qWarning() << "HEIC plugin created invalid QColorSpace from NCLX!"; } }