Allow separate parameters for gamma encoding and decoding (#1439)

This commit is contained in:
Daiz
2018-11-11 11:15:38 +02:00
committed by Lovell Fuller
parent 1fa388370e
commit a48f8fbb61
8 changed files with 41 additions and 5 deletions

View File

@@ -44,6 +44,19 @@ describe('Gamma correction', function () {
});
});
it('input value of 2.2, output value of 3.0', function (done) {
sharp(fixtures.inputJpgWithGammaHoliness)
.resize(129, 111)
.gamma(2.2, 3.0)
.toBuffer(function (err, data, info) {
if (err) throw err;
assert.strictEqual('jpeg', info.format);
assert.strictEqual(129, info.width);
assert.strictEqual(111, info.height);
fixtures.assertSimilar(fixtures.expected('gamma-in-2.2-out-3.0.jpg'), data, { threshold: 6 }, done);
});
});
it('alpha transparency', function (done) {
sharp(fixtures.inputPngOverlayLayer1)
.resize(320)
@@ -57,9 +70,15 @@ describe('Gamma correction', function () {
});
});
it('invalid value', function () {
it('invalid first parameter value', function () {
assert.throws(function () {
sharp(fixtures.inputJpgWithGammaHoliness).gamma(4);
});
});
it('invalid second parameter value', function () {
assert.throws(function () {
sharp(fixtures.inputJpgWithGammaHoliness).gamma(2.2, 4);
});
});
});