Merge pull request #415 from xabbu42/issue-350

FIx issue #350 Semi-transparent outlines on raw, premultiplied input
This commit is contained in:
Petr Sloup 2020-01-28 15:42:36 +01:00 committed by GitHub
commit 224a1300df
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -427,6 +427,22 @@ module.exports = (options, repo, params, id, publicUrl, dataResolver) => {
return;
}
// Fix semi-transparent outlines on raw, premultiplied input
// https://github.com/klokantech/tileserver-gl/issues/350#issuecomment-477857040
for (var i = 0; i < data.length; i += 4) {
var alpha = data[i + 3];
var norm = alpha / 255;
if (alpha === 0) {
data[i] = 0;
data[i + 1] = 0;
data[i + 2] = 0;
} else {
data[i] = data[i] / norm;
data[i + 1] = data[i + 1] / norm;
data[i + 2] = data[i + 2] / norm;
}
}
const image = sharp(data, {
raw: {
width: params.width * scale,