From 58e6368525e25553a64d356b1c0d74b6c3388bec Mon Sep 17 00:00:00 2001 From: Lovell Fuller Date: Sun, 6 Dec 2015 20:24:17 +0000 Subject: [PATCH] Ensure embedded ICC profiles output with perceptual intent #321 --- src/pipeline.cc | 10 ++++++++-- .../colourspace.cmyk-without-profile.jpg | Bin 0 -> 24847 bytes test/fixtures/expected/colourspace.cmyk.jpg | Bin 0 -> 25705 bytes test/unit/colourspace.js | 7 +++---- 4 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 test/fixtures/expected/colourspace.cmyk-without-profile.jpg create mode 100644 test/fixtures/expected/colourspace.cmyk.jpg diff --git a/src/pipeline.cc b/src/pipeline.cc index 53441f92..1558b425 100644 --- a/src/pipeline.cc +++ b/src/pipeline.cc @@ -421,7 +421,10 @@ class PipelineWorker : public AsyncWorker { if (HasProfile(image)) { // Convert to sRGB using embedded profile VipsImage *transformed; - if (!vips_icc_transform(image, &transformed, srgbProfile.data(), "embedded", TRUE, nullptr)) { + if ( + !vips_icc_transform(image, &transformed, srgbProfile.data(), + "embedded", TRUE, "intent", VIPS_INTENT_PERCEPTUAL, nullptr) + ) { // Embedded profile can fail, so only update references on success vips_object_local(hook, transformed); image = transformed; @@ -430,7 +433,10 @@ class PipelineWorker : public AsyncWorker { // Convert to sRGB using default "USWebCoatedSWOP" CMYK profile std::string cmykProfile = baton->iccProfilePath + "USWebCoatedSWOP.icc"; VipsImage *transformed; - if (vips_icc_transform(image, &transformed, srgbProfile.data(), "input_profile", cmykProfile.data(), nullptr)) { + if ( + vips_icc_transform(image, &transformed, srgbProfile.data(), + "input_profile", cmykProfile.data(), "intent", VIPS_INTENT_PERCEPTUAL, nullptr) + ) { return Error(); } vips_object_local(hook, transformed); diff --git a/test/fixtures/expected/colourspace.cmyk-without-profile.jpg b/test/fixtures/expected/colourspace.cmyk-without-profile.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8959e6925231350e86e33c36e70ad0d5b2ad8bd3 GIT binary patch literal 24847 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 by%8dvSJQi*`f8JJm^|Hlao5)u+B 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 0); assert.strictEqual('jpeg', info.format); assert.strictEqual(320, info.width); - done(); + fixtures.assertSimilar(fixtures.expected('colourspace.cmyk-without-profile.jpg'), data, done); }); });