diff --git a/package.json b/package.json index dae12d1..91b4824 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,7 @@ "base64url": "2.0.0", "canvas": "1.6.2", "clone": "2.1.0", - "color": "1.0.2", + "color": "1.0.3", "cors": "2.8.1", "express": "4.14.0", "glyph-pbf-composite": "0.0.2", diff --git a/src/serve_rendered.js b/src/serve_rendered.js index fed6360..f172cc1 100644 --- a/src/serve_rendered.js +++ b/src/serve_rendered.js @@ -230,16 +230,18 @@ module.exports = function(options, repo, params, id, dataResolver) { if (source.format == 'pbf') { map.sources[name].emptyTile = new Buffer(0); } else { - var color = new Color(source.color || '#fff'); + var color = new Color(source.color || 'rgba(255,255,255,0)'); var format = source.format; if (format == 'jpg') { format = 'jpeg'; } - sharp(new Buffer(color.rgbArray()), { + var array = color.array(); + var channels = array.length == 4 && format != 'jpeg' ? 4 : 3; + sharp(new Buffer(array), { raw: { width: 1, height: 1, - channels: 3 + channels: channels } }).toFormat(format).toBuffer(function(err, buffer, info) { map.sources[name].emptyTile = buffer;