Ensure keepIccProfile retains CMYK input profiles #3906

This commit is contained in:
Lovell Fuller
2024-02-11 20:10:18 +00:00
parent fc439bedf1
commit fb70fbb09f
3 changed files with 19 additions and 1 deletions

View File

@@ -576,6 +576,19 @@ describe('Image metadata', function () {
assert.strictEqual(description, 'Generic RGB Profile');
});
it('keep existing CMYK ICC profile', async () => {
const data = await sharp(fixtures.inputJpgWithCmykProfile)
.pipelineColourspace('cmyk')
.toColourspace('cmyk')
.keepIccProfile()
.toBuffer();
const metadata = await sharp(data).metadata();
assert.strictEqual(metadata.channels, 4);
const { description } = icc.parse(metadata.icc);
assert.strictEqual(description, 'U.S. Web Coated (SWOP) v2');
});
it('transform to ICC profile and attach', async () => {
const data = await sharp({ create })
.png()