UNPKG

2.8 kBJavaScriptView Raw
1"use strict";
2
3var _typeof = require("@babel/runtime/helpers/typeof");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports.rgb2arr = rgb2arr;
9exports.decodePickingColor = decodePickingColor;
10exports.encodePickingColor = encodePickingColor;
11exports.generateColorRamp = generateColorRamp;
12
13var d3 = _interopRequireWildcard(require("d3-color"));
14
15function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
17function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
18
19function rgb2arr(str) {
20 var color = d3.color(str);
21 var arr = [0, 0, 0, 0];
22
23 if (color != null) {
24 arr[0] = color.r / 255;
25 arr[1] = color.g / 255;
26 arr[2] = color.b / 255;
27 arr[3] = color.opacity;
28 }
29
30 return arr;
31}
32
33function decodePickingColor(color) {
34 var i1 = color && color[0];
35 var i2 = color && color[1];
36 var i3 = color && color[2];
37 var index = i1 + i2 * 256 + i3 * 65536 - 1;
38 return index;
39}
40
41function encodePickingColor(featureIdx) {
42 return [featureIdx + 1 & 255, featureIdx + 1 >> 8 & 255, featureIdx + 1 >> 8 >> 8 & 255];
43}
44
45function generateColorRamp(colorRamp) {
46 var canvas = document.createElement('canvas');
47 var ctx = canvas.getContext('2d');
48 canvas.width = 256;
49 canvas.height = 1;
50 var gradient = ctx.createLinearGradient(0, 0, 256, 1);
51 var data = null;
52 var min = colorRamp.positions[0];
53 var max = colorRamp.positions[colorRamp.positions.length - 1];
54
55 for (var i = 0; i < colorRamp.colors.length; ++i) {
56 var value = (colorRamp.positions[i] - min) / (max - min);
57 gradient.addColorStop(value, colorRamp.colors[i]);
58 }
59
60 ctx.fillStyle = gradient;
61 ctx.fillRect(0, 0, 256, 1);
62 data = new Uint8ClampedArray(ctx.getImageData(0, 0, 256, 1).data);
63 return new ImageData(data, 256, 1);
64}
65//# sourceMappingURL=color.js.map
\No newline at end of file