Initial commit
This commit is contained in:
commit
e49726988c
5445 files changed
+1089914
No files matched your search
+2921
File diff suppressed because it is too large.
Load diff
+7
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../src/index.ts", "../../src/constants/index.ts", "../../src/constants/bt709.ts", "../../src/conversion/index.ts", "../../src/conversion/rgb2xyz.ts", "../../src/utils/arithmetic.ts", "../../src/conversion/rgb2hsl.ts", "../../src/conversion/xyz2lab.ts", "../../src/conversion/rgb2lab.ts", "../../src/conversion/lab2xyz.ts", "../../src/conversion/xyz2rgb.ts", "../../src/conversion/lab2rgb.ts", "../../src/distance/index.ts", "../../src/distance/distanceCalculator.ts", "../../src/distance/cie94.ts", "../../src/distance/ciede2000.ts", "../../src/distance/cmetric.ts", "../../src/distance/euclidean.ts", "../../src/distance/manhattan.ts", "../../src/distance/pngQuant.ts", "../../src/palette/index.ts", "../../src/palette/paletteQuantizer.ts", "../../src/utils/point.ts", "../../src/utils/pointContainer.ts", "../../src/utils/palette.ts", "../../src/utils/index.ts", "../../src/utils/hueStatistics.ts", "../../src/utils/progressTracker.ts", "../../src/palette/neuquant/neuquant.ts", "../../src/palette/neuquant/neuquantFloat.ts", "../../src/palette/rgbquant/colorHistogram.ts", "../../src/palette/rgbquant/rgbquant.ts", "../../src/palette/wu/wuQuant.ts", "../../src/image/index.ts", "../../src/image/imageQuantizer.ts", "../../src/image/nearestColor.ts", "../../src/image/array.ts", "../../src/image/spaceFillingCurves/hilbertCurve.ts", "../../src/image/riemersma.ts", "../../src/quality/index.ts", "../../src/quality/ssim.ts", "../../src/basicAPI.ts"],
|
||||
"sourcesContent": ["/**\n * @preserve\n * Copyright 2015-2018 Igor Bezkrovnyi\n * All rights reserved. (MIT Licensed)\n *\n * iq.ts - Image Quantization Library\n */\nimport * as constants from './constants';\nimport * as conversion from './conversion';\nimport * as distance from './distance';\nimport * as palette from './palette';\nimport * as image from './image';\nimport * as quality from './quality';\nimport * as utils from './utils';\n\nexport {\n buildPalette,\n buildPaletteSync,\n applyPalette,\n applyPaletteSync,\n} from './basicAPI';\n\nexport type {\n ImageQuantization,\n PaletteQuantization,\n ColorDistanceFormula,\n} from './basicAPI';\n\nexport { constants, conversion, distance, palette, image, quality, utils };\n", "/**\n * @preserve\n * Copyright 2015-2018 Igor Bezkrovnyi\n * All rights reserved. (MIT Licensed)\n *\n * constants.ts - part of Image Quantization Library\n */\nimport * as bt709 from './bt709';\n\nexport { bt709 };\n", "/**\n * @preserve\n * Copyright 2015-2018 Igor Bezkrovnyi\n * All rights reserved. (MIT Licensed)\n *\n * constants.ts - part of Image Quantization Library\n */\n\n/**\n * sRGB (based on ITU-R Recommendation BT.709)\n * http://en.wikipedia.org/wiki/SRGB\n */\nexport enum Y {\n RED = 0.2126,\n GREEN = 0.7152,\n BLUE = 0.0722,\n WHITE = 1,\n}\n\nexport enum x {\n RED = 0.64,\n GREEN = 0.3,\n BLUE = 0.15,\n WHITE = 0.3127,\n}\n\nexport enum y {\n RED = 0.33,\n GREEN = 0.6,\n BLUE = 0.06,\n WHITE = 0.329,\n}\n", "/**\n * @preserve\n * Copyright 2015-2018 Igor Bezkrovnyi\n * All rights reserved. (MIT Licensed)\n *\n * iq.ts - Image Quantization Library\n */\nexport { rgb2xyz } from './rgb2xyz';\nexport { rgb2hsl } from './rgb2hsl';\nexport { rgb2lab } from './rgb2lab';\nexport { lab2xyz } from './lab2xyz';\nexport { lab2rgb } from './lab2rgb';\nexport { xyz2lab } from './xyz2lab';\nexport { xyz2rgb } from './xyz2rgb';\n", "/**\n * @preserve\n * Copyright 2015-2018 Igor Bezkrovnyi\n * All rights reserved. (MIT Licensed)\n *\n * rgb2xyz.ts - part of Image Quantization Library\n */\nfunction correctGamma(n: number) {\n return n > 0.04045 ? ((n + 0.055) / 1.055) ** 2.4 : n / 12.92;\n}\n\nexport function rgb2xyz(r: number, g: number, b: number) {\n // gamma correction, see https://en.wikipedia.org/wiki/SRGB#The_reverse_transformation\n r = correctGamma(r / 255);\n g = correctGamma(g / 255);\n b = correctGamma(b / 255);\n\n // Observer. = 2\u00B0, Illuminant = D65\n return {\n x: r * 0.4124 + g * 0.3576 + b * 0.1805,\n y: r * 0.2126 + g * 0.7152 + b * 0.0722,\n z: r * 0.0193 + g * 0.1192 + b * 0.9505,\n };\n}\n", "export function degrees2radians(n: number) {\n return n * (Math.PI / 180);\n}\n\nexport function max3(a: number, b: number, c: number) {\n let m = a;\n if (m < b) m = b;\n if (m < c) m = c;\n return m;\n}\n\nexport function min3(a: number, b: number, c: number) {\n let m = a;\n if (m > b) m = b;\n if (m > c) m = c;\n return m;\n}\n\nexport function intInRange(value: number, low: number, high: number) {\n if (value > high) value = high;\n if (value < low) value = low;\n return value | 0;\n}\n\nexport function inRange0to255Rounded(n: number) {\n n = Math.round(n);\n if (n > 255) n = 255;\n else if (n < 0) n = 0;\n return n;\n}\n\nexport function inRange0to255(n: number) {\n if (n > 255) n = 255;\n else if (n < 0) n = 0;\n return n;\n}\n\nexport function stableSort<T>(\n arrayToSort: T[],\n callback: (a: T, b: T) => number,\n) {\n const type = typeof arrayToSort[0];\n let sorted: T[];\n\n if (type === 'number' || type === 'string') {\n const ord = Object.create(null);\n for (let i = 0, l = arrayToSort.length; i < l; i++) {\n const val = arrayToSort[i] as unknown as string;\n if (ord[val] || ord[val] === 0) continue;\n ord[val] = i;\n }\n\n sorted = arrayToSort.sort((a, b) => callback(a, b) || ord[a] - ord[b]);\n } else {\n const ord2 = arrayToSort.slice(0);\n sorted = arrayToSort.sort(\n (a, b) => callback(a, b) || ord2.indexOf(a) - ord2.indexOf(b),\n );\n }\n\n return sorted;\n}\n", "/**\n * @preserve\n * Copyright 2015-2018 Igor Bezkrovnyi\n * All rights reserved. (MIT Licensed)\n *\n * rgb2hsl.ts - part of Image Quantization Library\n */\nimport { min3, max3 } from '../utils/arithmetic';\n\n/**\n * Calculate HSL from RGB\n * Hue is in degrees [0..360]\n * Lightness: [0..1]\n * Saturation: [0..1]\n * http://web.archive.org/web/20060914040436/http://local.wasp.uwa.edu.au/~pbourke/colour/hsl/\n */\nexport function rgb2hsl(r: number, g: number, b: number) {\n const min = min3(r, g, b);\n const max = max3(r, g, b);\n const delta = max - min;\n const l = (min + max) / 510;\n\n let s = 0;\n if (l > 0 && l < 1) s = delta / (l < 0.5 ? max + min : 510 - max - min);\n\n let h = 0;\n if (delta > 0) {\n if (max === r) {\n h = (g - b) / delta;\n } else if (max === g) {\n h = 2 + (b - r) / delta;\n } else {\n h = 4 + (r - g) / delta;\n }\n\Line truncated
|
||||
"mappings": "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 truncated
|
||||
"names": []
|
||||
}
|
||||
+2886
File diff suppressed because it is too large.
Load diff
+7
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"version": 3,
|
||||
"sources": ["../../src/constants/index.ts", "../../src/constants/bt709.ts", "../../src/conversion/index.ts", "../../src/conversion/rgb2xyz.ts", "../../src/utils/arithmetic.ts", "../../src/conversion/rgb2hsl.ts", "../../src/conversion/xyz2lab.ts", "../../src/conversion/rgb2lab.ts", "../../src/conversion/lab2xyz.ts", "../../src/conversion/xyz2rgb.ts", "../../src/conversion/lab2rgb.ts", "../../src/distance/index.ts", "../../src/distance/distanceCalculator.ts", "../../src/distance/cie94.ts", "../../src/distance/ciede2000.ts", "../../src/distance/cmetric.ts", "../../src/distance/euclidean.ts", "../../src/distance/manhattan.ts", "../../src/distance/pngQuant.ts", "../../src/palette/index.ts", "../../src/palette/paletteQuantizer.ts", "../../src/utils/point.ts", "../../src/utils/pointContainer.ts", "../../src/utils/palette.ts", "../../src/utils/index.ts", "../../src/utils/hueStatistics.ts", "../../src/utils/progressTracker.ts", "../../src/palette/neuquant/neuquant.ts", "../../src/palette/neuquant/neuquantFloat.ts", "../../src/palette/rgbquant/colorHistogram.ts", "../../src/palette/rgbquant/rgbquant.ts", "../../src/palette/wu/wuQuant.ts", "../../src/image/index.ts", "../../src/image/imageQuantizer.ts", "../../src/image/nearestColor.ts", "../../src/image/array.ts", "../../src/image/spaceFillingCurves/hilbertCurve.ts", "../../src/image/riemersma.ts", "../../src/quality/index.ts", "../../src/quality/ssim.ts", "../../src/basicAPI.ts", "../../src/index.ts"],
|
||||
"sourcesContent": ["/**\n * @preserve\n * Copyright 2015-2018 Igor Bezkrovnyi\n * All rights reserved. (MIT Licensed)\n *\n * constants.ts - part of Image Quantization Library\n */\nimport * as bt709 from './bt709';\n\nexport { bt709 };\n", "/**\n * @preserve\n * Copyright 2015-2018 Igor Bezkrovnyi\n * All rights reserved. (MIT Licensed)\n *\n * constants.ts - part of Image Quantization Library\n */\n\n/**\n * sRGB (based on ITU-R Recommendation BT.709)\n * http://en.wikipedia.org/wiki/SRGB\n */\nexport enum Y {\n RED = 0.2126,\n GREEN = 0.7152,\n BLUE = 0.0722,\n WHITE = 1,\n}\n\nexport enum x {\n RED = 0.64,\n GREEN = 0.3,\n BLUE = 0.15,\n WHITE = 0.3127,\n}\n\nexport enum y {\n RED = 0.33,\n GREEN = 0.6,\n BLUE = 0.06,\n WHITE = 0.329,\n}\n", "/**\n * @preserve\n * Copyright 2015-2018 Igor Bezkrovnyi\n * All rights reserved. (MIT Licensed)\n *\n * iq.ts - Image Quantization Library\n */\nexport { rgb2xyz } from './rgb2xyz';\nexport { rgb2hsl } from './rgb2hsl';\nexport { rgb2lab } from './rgb2lab';\nexport { lab2xyz } from './lab2xyz';\nexport { lab2rgb } from './lab2rgb';\nexport { xyz2lab } from './xyz2lab';\nexport { xyz2rgb } from './xyz2rgb';\n", "/**\n * @preserve\n * Copyright 2015-2018 Igor Bezkrovnyi\n * All rights reserved. (MIT Licensed)\n *\n * rgb2xyz.ts - part of Image Quantization Library\n */\nfunction correctGamma(n: number) {\n return n > 0.04045 ? ((n + 0.055) / 1.055) ** 2.4 : n / 12.92;\n}\n\nexport function rgb2xyz(r: number, g: number, b: number) {\n // gamma correction, see https://en.wikipedia.org/wiki/SRGB#The_reverse_transformation\n r = correctGamma(r / 255);\n g = correctGamma(g / 255);\n b = correctGamma(b / 255);\n\n // Observer. = 2\u00B0, Illuminant = D65\n return {\n x: r * 0.4124 + g * 0.3576 + b * 0.1805,\n y: r * 0.2126 + g * 0.7152 + b * 0.0722,\n z: r * 0.0193 + g * 0.1192 + b * 0.9505,\n };\n}\n", "export function degrees2radians(n: number) {\n return n * (Math.PI / 180);\n}\n\nexport function max3(a: number, b: number, c: number) {\n let m = a;\n if (m < b) m = b;\n if (m < c) m = c;\n return m;\n}\n\nexport function min3(a: number, b: number, c: number) {\n let m = a;\n if (m > b) m = b;\n if (m > c) m = c;\n return m;\n}\n\nexport function intInRange(value: number, low: number, high: number) {\n if (value > high) value = high;\n if (value < low) value = low;\n return value | 0;\n}\n\nexport function inRange0to255Rounded(n: number) {\n n = Math.round(n);\n if (n > 255) n = 255;\n else if (n < 0) n = 0;\n return n;\n}\n\nexport function inRange0to255(n: number) {\n if (n > 255) n = 255;\n else if (n < 0) n = 0;\n return n;\n}\n\nexport function stableSort<T>(\n arrayToSort: T[],\n callback: (a: T, b: T) => number,\n) {\n const type = typeof arrayToSort[0];\n let sorted: T[];\n\n if (type === 'number' || type === 'string') {\n const ord = Object.create(null);\n for (let i = 0, l = arrayToSort.length; i < l; i++) {\n const val = arrayToSort[i] as unknown as string;\n if (ord[val] || ord[val] === 0) continue;\n ord[val] = i;\n }\n\n sorted = arrayToSort.sort((a, b) => callback(a, b) || ord[a] - ord[b]);\n } else {\n const ord2 = arrayToSort.slice(0);\n sorted = arrayToSort.sort(\n (a, b) => callback(a, b) || ord2.indexOf(a) - ord2.indexOf(b),\n );\n }\n\n return sorted;\n}\n", "/**\n * @preserve\n * Copyright 2015-2018 Igor Bezkrovnyi\n * All rights reserved. (MIT Licensed)\n *\n * rgb2hsl.ts - part of Image Quantization Library\n */\nimport { min3, max3 } from '../utils/arithmetic';\n\n/**\n * Calculate HSL from RGB\n * Hue is in degrees [0..360]\n * Lightness: [0..1]\n * Saturation: [0..1]\n * http://web.archive.org/web/20060914040436/http://local.wasp.uwa.edu.au/~pbourke/colour/hsl/\n */\nexport function rgb2hsl(r: number, g: number, b: number) {\n const min = min3(r, g, b);\n const max = max3(r, g, b);\n const delta = max - min;\n const l = (min + max) / 510;\n\n let s = 0;\n if (l > 0 && l < 1) s = delta / (l < 0.5 ? max + min : 510 - max - min);\n\n let h = 0;\n if (delta > 0) {\n if (max === r) {\n h = (g - b) / delta;\n } else if (max === g) {\n h = 2 + (b - r) / delta;\n } else {\n h = 4 + (r - g) / delta;\n }\n\n h *= 60;\n if (h < 0) h += 360;\n }\n return { h, s, l };\n}\n", "/**\n * @preserve\n * Copyright 2015-2018 Igor Bezkrovnyi\n * All rights reserved. (MIT Licensed)\n *\n * xyz2lab.ts - part of Image Quantization Library\n */\nconst refX = 0.95047; // ref_X = 95.047 Observer= 2\u00B0, Illuminant= D65\nconst refY = 1.0; // ref_Y = 100.000\nconst refZ = 1.08883; // ref_Z = 108.883\n\nfunction pivot(n: number) {\n return n > 0.008856 ? n ** (1 / 3) : 7.787 * n + 16 / 116;\n}\n\nexport function xyz2lab(x: number, y: number, z: number) {\n x = pivot(x / refX);\n y = pivot(y / refY);\n z = pivot(z / refZ);\n\n if (116 * y - 16 < 0) throw new Error('xxx');\n return {\n L: Math.max(0, 116 * y - 16),\n Line truncated
|
||||
"mappings": "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 truncated
|
||||
"names": []
|
||||
}
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
import { PointContainer } from './utils/pointContainer';
|
||||
import { Palette } from './utils/palette';
|
||||
export declare type ColorDistanceFormula = 'cie94-textiles' | 'cie94-graphic-arts' | 'ciede2000' | 'color-metric' | 'euclidean' | 'euclidean-bt709-noalpha' | 'euclidean-bt709' | 'manhattan' | 'manhattan-bt709' | 'manhattan-nommyde' | 'pngquant';
|
||||
export declare type PaletteQuantization = 'neuquant' | 'neuquant-float' | 'rgbquant' | 'wuquant';
|
||||
export declare type ImageQuantization = 'nearest' | 'riemersma' | 'floyd-steinberg' | 'false-floyd-steinberg' | 'stucki' | 'atkinson' | 'jarvis' | 'burkes' | 'sierra' | 'two-sierra' | 'sierra-lite';
|
||||
export interface ProgressOptions {
|
||||
onProgress?: (progress: number) => void;
|
||||
}
|
||||
export interface ApplyPaletteOptions {
|
||||
colorDistanceFormula?: ColorDistanceFormula;
|
||||
imageQuantization?: ImageQuantization;
|
||||
}
|
||||
export interface BuildPaletteOptions {
|
||||
colorDistanceFormula?: ColorDistanceFormula;
|
||||
paletteQuantization?: PaletteQuantization;
|
||||
colors?: number;
|
||||
}
|
||||
export declare function buildPaletteSync(images: PointContainer[], { colorDistanceFormula, paletteQuantization, colors, }?: BuildPaletteOptions): Palette;
|
||||
export declare function buildPalette(images: PointContainer[], { colorDistanceFormula, paletteQuantization, colors, onProgress, }?: BuildPaletteOptions & ProgressOptions): Promise<Palette>;
|
||||
export declare function applyPaletteSync(image: PointContainer, palette: Palette, { colorDistanceFormula, imageQuantization }?: ApplyPaletteOptions): PointContainer;
|
||||
export declare function applyPalette(image: PointContainer, palette: Palette, { colorDistanceFormula, imageQuantization, onProgress, }?: ApplyPaletteOptions & ProgressOptions): Promise<PointContainer>;
|
||||
//# sourceMappingURL=basicAPI.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"basicAPI.d.ts","sourceRoot":"","sources":["../../../src/basicAPI.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAS1C,oBAAY,oBAAoB,GAC5B,gBAAgB,GAChB,oBAAoB,GACpB,WAAW,GACX,cAAc,GACd,WAAW,GACX,yBAAyB,GACzB,iBAAiB,GACjB,WAAW,GACX,iBAAiB,GACjB,mBAAmB,GACnB,UAAU,CAAC;AAEf,oBAAY,mBAAmB,GAC3B,UAAU,GACV,gBAAgB,GAChB,UAAU,GACV,SAAS,CAAC;AAEd,oBAAY,iBAAiB,GACzB,SAAS,GACT,WAAW,GACX,iBAAiB,GACjB,uBAAuB,GACvB,QAAQ,GACR,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,aAAa,CAAC;AAElB,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,mBAAmB;IAClC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED,MAAM,WAAW,mBAAmB;IAClC,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,cAAc,EAAE,EACxB,EACE,oBAAoB,EACpB,mBAAmB,EACnB,MAAM,GACP,GAAE,mBAAwB,WAW5B;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,cAAc,EAAE,EACxB,EACE,oBAAoB,EACpB,mBAAmB,EACnB,MAAM,EACN,UAAU,GACX,GAAE,mBAAmB,GAAG,eAAoB,oBA8B9C;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,OAAO,EAChB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,GAAE,mBAAwB,kBAStE;AAED,wBAAsB,YAAY,CAChC,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,OAAO,EAChB,EACE,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,GACX,GAAE,mBAAmB,GAAG,eAAoB,2BA8B9C"}
|
||||
+30
@@ -0,0 +1,30 @@
|
||||
/**
|
||||
* @preserve
|
||||
* Copyright 2015-2018 Igor Bezkrovnyi
|
||||
* All rights reserved. (MIT Licensed)
|
||||
*
|
||||
* constants.ts - part of Image Quantization Library
|
||||
*/
|
||||
/**
|
||||
* sRGB (based on ITU-R Recommendation BT.709)
|
||||
* http://en.wikipedia.org/wiki/SRGB
|
||||
*/
|
||||
export declare enum Y {
|
||||
RED = 0.2126,
|
||||
GREEN = 0.7152,
|
||||
BLUE = 0.0722,
|
||||
WHITE = 1
|
||||
}
|
||||
export declare enum x {
|
||||
RED = 0.64,
|
||||
GREEN = 0.3,
|
||||
BLUE = 0.15,
|
||||
WHITE = 0.3127
|
||||
}
|
||||
export declare enum y {
|
||||
RED = 0.33,
|
||||
GREEN = 0.6,
|
||||
BLUE = 0.06,
|
||||
WHITE = 0.329
|
||||
}
|
||||
//# sourceMappingURL=bt709.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"bt709.d.ts","sourceRoot":"","sources":["../../../../src/constants/bt709.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;GAGG;AACH,oBAAY,CAAC;IACX,GAAG,SAAS;IACZ,KAAK,SAAS;IACd,IAAI,SAAS;IACb,KAAK,IAAI;CACV;AAED,oBAAY,CAAC;IACX,GAAG,OAAO;IACV,KAAK,MAAM;IACX,IAAI,OAAO;IACX,KAAK,SAAS;CACf;AAED,oBAAY,CAAC;IACX,GAAG,OAAO;IACV,KAAK,MAAM;IACX,IAAI,OAAO;IACX,KAAK,QAAQ;CACd"}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
/**
|
||||
* @preserve
|
||||
* Copyright 2015-2018 Igor Bezkrovnyi
|
||||
* All rights reserved. (MIT Licensed)
|
||||
*
|
||||
* constants.ts - part of Image Quantization Library
|
||||
*/
|
||||
import * as bt709 from './bt709';
|
||||
export { bt709 };
|
||||
//# sourceMappingURL=index.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/constants/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
/**
|
||||
* @preserve
|
||||
* Copyright 2015-2018 Igor Bezkrovnyi
|
||||
* All rights reserved. (MIT Licensed)
|
||||
*
|
||||
* iq.ts - Image Quantization Library
|
||||
*/
|
||||
export { rgb2xyz } from './rgb2xyz';
|
||||
export { rgb2hsl } from './rgb2hsl';
|
||||
export { rgb2lab } from './rgb2lab';
|
||||
export { lab2xyz } from './lab2xyz';
|
||||
export { lab2rgb } from './lab2rgb';
|
||||
export { xyz2lab } from './xyz2lab';
|
||||
export { xyz2rgb } from './xyz2rgb';
|
||||
//# sourceMappingURL=index.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/conversion/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
export declare function lab2rgb(L: number, a: number, b: number): {
|
||||
r: number;
|
||||
g: number;
|
||||
b: number;
|
||||
};
|
||||
//# sourceMappingURL=lab2rgb.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"lab2rgb.d.ts","sourceRoot":"","sources":["../../../../src/conversion/lab2rgb.ts"],"names":[],"mappings":"AAUA,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;;;;EAGtD"}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
export declare function lab2xyz(L: number, a: number, b: number): {
|
||||
x: number;
|
||||
y: number;
|
||||
z: number;
|
||||
};
|
||||
//# sourceMappingURL=lab2xyz.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"lab2xyz.d.ts","sourceRoot":"","sources":["../../../../src/conversion/lab2xyz.ts"],"names":[],"mappings":"AAeA,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;;;;EAUtD"}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
/**
|
||||
* Calculate HSL from RGB
|
||||
* Hue is in degrees [0..360]
|
||||
* Lightness: [0..1]
|
||||
* Saturation: [0..1]
|
||||
* http://web.archive.org/web/20060914040436/http://local.wasp.uwa.edu.au/~pbourke/colour/hsl/
|
||||
*/
|
||||
export declare function rgb2hsl(r: number, g: number, b: number): {
|
||||
h: number;
|
||||
s: number;
|
||||
l: number;
|
||||
};
|
||||
//# sourceMappingURL=rgb2hsl.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"rgb2hsl.d.ts","sourceRoot":"","sources":["../../../../src/conversion/rgb2hsl.ts"],"names":[],"mappings":"AASA;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;;;;EAuBtD"}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
export declare function rgb2lab(r: number, g: number, b: number): {
|
||||
L: number;
|
||||
a: number;
|
||||
b: number;
|
||||
};
|
||||
//# sourceMappingURL=rgb2lab.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"rgb2lab.d.ts","sourceRoot":"","sources":["../../../../src/conversion/rgb2lab.ts"],"names":[],"mappings":"AAUA,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;;;;EAGtD"}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
export declare function rgb2xyz(r: number, g: number, b: number): {
|
||||
x: number;
|
||||
y: number;
|
||||
z: number;
|
||||
};
|
||||
//# sourceMappingURL=rgb2xyz.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"rgb2xyz.d.ts","sourceRoot":"","sources":["../../../../src/conversion/rgb2xyz.ts"],"names":[],"mappings":"AAWA,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;;;;EAYtD"}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
export declare function xyz2lab(x: number, y: number, z: number): {
|
||||
L: number;
|
||||
a: number;
|
||||
b: number;
|
||||
};
|
||||
//# sourceMappingURL=xyz2lab.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"xyz2lab.d.ts","sourceRoot":"","sources":["../../../../src/conversion/xyz2lab.ts"],"names":[],"mappings":"AAeA,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;;;;EAWtD"}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
export declare function xyz2rgb(x: number, y: number, z: number): {
|
||||
r: number;
|
||||
g: number;
|
||||
b: number;
|
||||
};
|
||||
//# sourceMappingURL=xyz2rgb.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"xyz2rgb.d.ts","sourceRoot":"","sources":["../../../../src/conversion/xyz2rgb.ts"],"names":[],"mappings":"AAcA,wBAAgB,OAAO,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;;;;EAWtD"}
|
||||
+31
@@ -0,0 +1,31 @@
|
||||
/**
|
||||
* @preserve
|
||||
* Copyright 2015-2018 Igor Bezkrovnyi
|
||||
* All rights reserved. (MIT Licensed)
|
||||
*
|
||||
* cie94.ts - part of Image Quantization Library
|
||||
*/
|
||||
import { AbstractDistanceCalculator } from './distanceCalculator';
|
||||
/**
|
||||
* CIE94 method of delta-e
|
||||
* http://en.wikipedia.org/wiki/Color_difference#CIE94
|
||||
*/
|
||||
export declare abstract class AbstractCIE94 extends AbstractDistanceCalculator {
|
||||
/**
|
||||
* Weight in distance: 0.25
|
||||
* Max DeltaE: 100
|
||||
* Max DeltaA: 255
|
||||
*/
|
||||
protected _kA: number;
|
||||
protected _Kl: number;
|
||||
protected _K1: number;
|
||||
protected _K2: number;
|
||||
calculateRaw(r1: number, g1: number, b1: number, a1: number, r2: number, g2: number, b2: number, a2: number): number;
|
||||
}
|
||||
export declare class CIE94Textiles extends AbstractCIE94 {
|
||||
protected _setDefaults(): void;
|
||||
}
|
||||
export declare class CIE94GraphicArts extends AbstractCIE94 {
|
||||
protected _setDefaults(): void;
|
||||
}
|
||||
//# sourceMappingURL=cie94.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"cie94.d.ts","sourceRoot":"","sources":["../../../../src/distance/cie94.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAIlE;;;GAGG;AACH,8BAAsB,aAAc,SAAQ,0BAA0B;IACpE;;;;OAIG;IACH,UAAkB,GAAG,EAAE,MAAM,CAAC;IAC9B,UAAkB,GAAG,EAAE,MAAM,CAAC;IAC9B,UAAkB,GAAG,EAAE,MAAM,CAAC;IAC9B,UAAkB,GAAG,EAAE,MAAM,CAAC;IAE9B,YAAY,CACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM;CAiCb;AAED,qBAAa,aAAc,SAAQ,aAAa;IAC9C,SAAS,CAAC,YAAY;CAMvB;AAED,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,SAAS,CAAC,YAAY;CAMvB"}
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
/**
|
||||
* @preserve
|
||||
* Copyright 2015-2018 Igor Bezkrovnyi
|
||||
* All rights reserved. (MIT Licensed)
|
||||
*
|
||||
* ciede2000.ts - part of Image Quantization Library
|
||||
*/
|
||||
import { AbstractDistanceCalculator } from './distanceCalculator';
|
||||
/**
|
||||
* CIEDE2000 algorithm - Adapted from Sharma et al's MATLAB implementation at
|
||||
* http://www.ece.rochester.edu/~gsharma/ciede2000/
|
||||
*/
|
||||
export declare class CIEDE2000 extends AbstractDistanceCalculator {
|
||||
/**
|
||||
* Weight in distance: 0.25
|
||||
* Max DeltaE: 100
|
||||
* Max DeltaA: 255
|
||||
*/
|
||||
private static readonly _kA;
|
||||
private static readonly _pow25to7;
|
||||
private static readonly _deg360InRad;
|
||||
private static readonly _deg180InRad;
|
||||
private static readonly _deg30InRad;
|
||||
private static readonly _deg6InRad;
|
||||
private static readonly _deg63InRad;
|
||||
private static readonly _deg275InRad;
|
||||
private static readonly _deg25InRad;
|
||||
protected _setDefaults(): void;
|
||||
private static _calculatehp;
|
||||
private static _calculateRT;
|
||||
private static _calculateT;
|
||||
private static _calculate_ahp;
|
||||
private static _calculate_dHp;
|
||||
calculateRaw(r1: number, g1: number, b1: number, a1: number, r2: number, g2: number, b2: number, a2: number): number;
|
||||
calculateRawInLab(Lab1: {
|
||||
L: number;
|
||||
a: number;
|
||||
b: number;
|
||||
}, Lab2: {
|
||||
L: number;
|
||||
a: number;
|
||||
b: number;
|
||||
}): number;
|
||||
}
|
||||
//# sourceMappingURL=ciede2000.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ciede2000.d.ts","sourceRoot":"","sources":["../../../../src/distance/ciede2000.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAIlE;;;GAGG;AACH,qBAAa,SAAU,SAAQ,0BAA0B;IACvD;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAsB;IACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAW;IAC5C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAwB;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAwB;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAuB;IAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAsB;IACxD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAuB;IAC1D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAwB;IAC5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAuB;IAE1D,SAAS,CAAC,YAAY;IAEtB,OAAO,CAAC,MAAM,CAAC,YAAY;IAM3B,OAAO,CAAC,MAAM,CAAC,YAAY;IAW3B,OAAO,CAAC,MAAM,CAAC,WAAW;IAU1B,OAAO,CAAC,MAAM,CAAC,cAAc;IAe7B,OAAO,CAAC,MAAM,CAAC,cAAc;IAmB7B,YAAY,CACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM;IAkBZ,iBAAiB,CACf,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EACzC,IAAI,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE;CAuD5C"}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
/**
|
||||
* @preserve
|
||||
* Copyright 2015-2018 Igor Bezkrovnyi
|
||||
* All rights reserved. (MIT Licensed)
|
||||
*
|
||||
* cmetric.ts - part of Image Quantization Library
|
||||
*/
|
||||
import { AbstractDistanceCalculator } from './distanceCalculator';
|
||||
/**
|
||||
* TODO: Name it: http://www.compuphase.com/cmetric.htm
|
||||
*/
|
||||
export declare class CMetric extends AbstractDistanceCalculator {
|
||||
calculateRaw(r1: number, g1: number, b1: number, a1: number, r2: number, g2: number, b2: number, a2: number): number;
|
||||
protected _setDefaults(): void;
|
||||
}
|
||||
//# sourceMappingURL=cmetric.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"cmetric.d.ts","sourceRoot":"","sources":["../../../../src/distance/cmetric.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElE;;GAEG;AACH,qBAAa,OAAQ,SAAQ,0BAA0B;IACrD,YAAY,CACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM;IAeZ,SAAS,CAAC,YAAY;CACvB"}
|
||||
+26
@@ -0,0 +1,26 @@
|
||||
/**
|
||||
* @preserve
|
||||
* Copyright 2015-2018 Igor Bezkrovnyi
|
||||
* All rights reserved. (MIT Licensed)
|
||||
*
|
||||
* common.ts - part of Image Quantization Library
|
||||
*/
|
||||
import { PointRGBA } from '../utils/point';
|
||||
export declare abstract class AbstractDistanceCalculator {
|
||||
protected _maxDistance: number;
|
||||
protected _whitePoint: {
|
||||
r: number;
|
||||
g: number;
|
||||
b: number;
|
||||
a: number;
|
||||
};
|
||||
constructor();
|
||||
setWhitePoint(r: number, g: number, b: number, a: number): void;
|
||||
calculateNormalized(colorA: PointRGBA, colorB: PointRGBA): number;
|
||||
/**
|
||||
* Calculate raw distance (non-normalized)
|
||||
*/
|
||||
abstract calculateRaw(r1: number, g1: number, b1: number, a1: number, r2: number, g2: number, b2: number, a2: number): number;
|
||||
protected abstract _setDefaults(): void;
|
||||
}
|
||||
//# sourceMappingURL=distanceCalculator.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"distanceCalculator.d.ts","sourceRoot":"","sources":["../../../../src/distance/distanceCalculator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,8BAAsB,0BAA0B;IAC9C,SAAS,CAAC,YAAY,EAAG,MAAM,CAAC;IAChC,SAAS,CAAC,WAAW,EAAG;QACtB,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;KACX,CAAC;;IASF,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM;IAUxD,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS;IAexD;;OAEG;IACH,QAAQ,CAAC,YAAY,CACnB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,MAAM;IAET,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,IAAI;CACxC"}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
/**
|
||||
* @preserve
|
||||
* Copyright 2015-2018 Igor Bezkrovnyi
|
||||
* All rights reserved. (MIT Licensed)
|
||||
*
|
||||
* euclidean.ts - part of Image Quantization Library
|
||||
*/
|
||||
import { AbstractDistanceCalculator } from './distanceCalculator';
|
||||
/**
|
||||
* Euclidean color distance
|
||||
*/
|
||||
export declare abstract class AbstractEuclidean extends AbstractDistanceCalculator {
|
||||
protected _kR: number;
|
||||
protected _kG: number;
|
||||
protected _kB: number;
|
||||
protected _kA: number;
|
||||
calculateRaw(r1: number, g1: number, b1: number, a1: number, r2: number, g2: number, b2: number, a2: number): number;
|
||||
}
|
||||
export declare class Euclidean extends AbstractEuclidean {
|
||||
protected _setDefaults(): void;
|
||||
}
|
||||
/**
|
||||
* Euclidean color distance (RGBQuant modification w Alpha)
|
||||
*/
|
||||
export declare class EuclideanBT709 extends AbstractEuclidean {
|
||||
protected _setDefaults(): void;
|
||||
}
|
||||
/**
|
||||
* Euclidean color distance (RGBQuant modification w/o Alpha)
|
||||
*/
|
||||
export declare class EuclideanBT709NoAlpha extends AbstractEuclidean {
|
||||
protected _setDefaults(): void;
|
||||
}
|
||||
//# sourceMappingURL=euclidean.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"euclidean.d.ts","sourceRoot":"","sources":["../../../../src/distance/euclidean.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAGlE;;GAEG;AACH,8BAAsB,iBAAkB,SAAQ,0BAA0B;IACxE,UAAkB,GAAG,EAAE,MAAM,CAAC;IAC9B,UAAkB,GAAG,EAAE,MAAM,CAAC;IAC9B,UAAkB,GAAG,EAAE,MAAM,CAAC;IAC9B,UAAkB,GAAG,EAAE,MAAM,CAAC;IAE9B,YAAY,CACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM;CAab;AAED,qBAAa,SAAU,SAAQ,iBAAiB;IAC9C,SAAS,CAAC,YAAY;CAMvB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,iBAAiB;IACnD,SAAS,CAAC,YAAY;CAOvB;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,iBAAiB;IAC1D,SAAS,CAAC,YAAY;CAMvB"}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
/**
|
||||
* @preserve
|
||||
* Copyright 2015-2018 Igor Bezkrovnyi
|
||||
* All rights reserved. (MIT Licensed)
|
||||
*
|
||||
* iq.ts - Image Quantization Library
|
||||
*/
|
||||
export { AbstractDistanceCalculator } from './distanceCalculator';
|
||||
export { CIE94Textiles, CIE94GraphicArts } from './cie94';
|
||||
export { CIEDE2000 } from './ciede2000';
|
||||
export { CMetric } from './cmetric';
|
||||
export { AbstractEuclidean, Euclidean, EuclideanBT709NoAlpha, EuclideanBT709, } from './euclidean';
|
||||
export { AbstractManhattan, Manhattan, ManhattanBT709, ManhattanNommyde, } from './manhattan';
|
||||
export { PNGQuant } from './pngQuant';
|
||||
//# sourceMappingURL=index.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/distance/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,qBAAqB,EACrB,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
||||
+35
@@ -0,0 +1,35 @@
|
||||
/**
|
||||
* @preserve
|
||||
* Copyright 2015-2018 Igor Bezkrovnyi
|
||||
* All rights reserved. (MIT Licensed)
|
||||
*
|
||||
* manhattanNeuQuant.ts - part of Image Quantization Library
|
||||
*/
|
||||
import { AbstractDistanceCalculator } from './distanceCalculator';
|
||||
/**
|
||||
* Manhattan distance (NeuQuant modification) - w/o sRGB coefficients
|
||||
*/
|
||||
export declare abstract class AbstractManhattan extends AbstractDistanceCalculator {
|
||||
protected _kR: number;
|
||||
protected _kG: number;
|
||||
protected _kB: number;
|
||||
protected _kA: number;
|
||||
calculateRaw(r1: number, g1: number, b1: number, a1: number, r2: number, g2: number, b2: number, a2: number): number;
|
||||
}
|
||||
export declare class Manhattan extends AbstractManhattan {
|
||||
protected _setDefaults(): void;
|
||||
}
|
||||
/**
|
||||
* Manhattan distance (Nommyde modification)
|
||||
* https://github.com/igor-bezkrovny/image-quantization/issues/4#issuecomment-235155320
|
||||
*/
|
||||
export declare class ManhattanNommyde extends AbstractManhattan {
|
||||
protected _setDefaults(): void;
|
||||
}
|
||||
/**
|
||||
* Manhattan distance (sRGB coefficients)
|
||||
*/
|
||||
export declare class ManhattanBT709 extends AbstractManhattan {
|
||||
protected _setDefaults(): void;
|
||||
}
|
||||
//# sourceMappingURL=manhattan.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"manhattan.d.ts","sourceRoot":"","sources":["../../../../src/distance/manhattan.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAGlE;;GAEG;AACH,8BAAsB,iBAAkB,SAAQ,0BAA0B;IACxE,UAAkB,GAAG,EAAE,MAAM,CAAC;IAC9B,UAAmB,GAAG,EAAE,MAAM,CAAC;IAC/B,UAAkB,GAAG,EAAE,MAAM,CAAC;IAC9B,UAAkB,GAAG,EAAE,MAAM,CAAC;IAE9B,YAAY,CACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM;CAab;AAED,qBAAa,SAAU,SAAQ,iBAAiB;IAC9C,SAAS,CAAC,YAAY;CAMvB;AAED;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,iBAAiB;IACrD,SAAS,CAAC,YAAY;CAOvB;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,iBAAiB;IACnD,SAAS,CAAC,YAAY;CAOvB"}
|
||||
+37
@@ -0,0 +1,37 @@
|
||||
/**
|
||||
* @preserve
|
||||
* Copyright 2015-2018 Igor Bezkrovnyi
|
||||
* All rights reserved. (MIT Licensed)
|
||||
*
|
||||
* pngQuant.ts - part of Image Quantization Library
|
||||
*/
|
||||
import { AbstractDistanceCalculator } from './distanceCalculator';
|
||||
/**
|
||||
* TODO: check quality of this distance equation
|
||||
* TODO: ask author for usage rights
|
||||
* taken from:
|
||||
* {@link http://stackoverflow.com/questions/4754506/color-similarity-distance-in-rgba-color-space/8796867#8796867}
|
||||
* {@link https://github.com/pornel/pngquant/blob/cc39b47799a7ff2ef17b529f9415ff6e6b213b8f/lib/pam.h#L148}
|
||||
*/
|
||||
export declare class PNGQuant extends AbstractDistanceCalculator {
|
||||
/**
|
||||
* Author's comments
|
||||
* px_b.rgb = px.rgb + 0*(1-px.a) // blend px on black
|
||||
* px_b.a = px.a + 1*(1-px.a)
|
||||
* px_w.rgb = px.rgb + 1*(1-px.a) // blend px on white
|
||||
* px_w.a = px.a + 1*(1-px.a)
|
||||
*
|
||||
* px_b.rgb = px.rgb // difference same as in opaque RGB
|
||||
* px_b.a = 1
|
||||
* px_w.rgb = px.rgb - px.a // difference simplifies to formula below
|
||||
* px_w.a = 1
|
||||
*
|
||||
* (px.rgb - px.a) - (py.rgb - py.a)
|
||||
* (px.rgb - py.rgb) + (py.a - px.a)
|
||||
*
|
||||
*/
|
||||
calculateRaw(r1: number, g1: number, b1: number, a1: number, r2: number, g2: number, b2: number, a2: number): number;
|
||||
private _colordifferenceCh;
|
||||
protected _setDefaults(): void;
|
||||
}
|
||||
//# sourceMappingURL=pngQuant.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"pngQuant.d.ts","sourceRoot":"","sources":["../../../../src/distance/pngQuant.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAElE;;;;;;GAMG;AACH,qBAAa,QAAS,SAAQ,0BAA0B;IACtD;;;;;;;;;;;;;;;OAeG;IACH,YAAY,CACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM;IAsBZ,OAAO,CAAC,kBAAkB;IAS1B,SAAS,CAAC,YAAY;CACvB"}
|
||||
+41
@@ -0,0 +1,41 @@
|
||||
/**
|
||||
* @preserve
|
||||
* Copyright 2015-2018 Igor Bezkrovnyi
|
||||
* All rights reserved. (MIT Licensed)
|
||||
*
|
||||
* ditherErrorDiffusionArray.ts - part of Image Quantization Library
|
||||
*/
|
||||
import { AbstractImageQuantizer } from './imageQuantizer';
|
||||
import { AbstractDistanceCalculator } from '../distance/distanceCalculator';
|
||||
import { PointContainer } from '../utils/pointContainer';
|
||||
import { Palette } from '../utils/palette';
|
||||
import { ImageQuantizerYieldValue } from './imageQuantizerYieldValue';
|
||||
export declare enum ErrorDiffusionArrayKernel {
|
||||
FloydSteinberg = 0,
|
||||
FalseFloydSteinberg = 1,
|
||||
Stucki = 2,
|
||||
Atkinson = 3,
|
||||
Jarvis = 4,
|
||||
Burkes = 5,
|
||||
Sierra = 6,
|
||||
TwoSierra = 7,
|
||||
SierraLite = 8
|
||||
}
|
||||
export declare class ErrorDiffusionArray extends AbstractImageQuantizer {
|
||||
private _minColorDistance;
|
||||
private _serpentine;
|
||||
private _kernel;
|
||||
/** true = GIMP, false = XNVIEW */
|
||||
private _calculateErrorLikeGIMP;
|
||||
private _distance;
|
||||
constructor(colorDistanceCalculator: AbstractDistanceCalculator, kernel: ErrorDiffusionArrayKernel, serpentine?: boolean, minimumColorDistanceToDither?: number, calculateErrorLikeGIMP?: boolean);
|
||||
/**
|
||||
* adapted from http://jsbin.com/iXofIji/2/edit by PAEz
|
||||
* fixed version. it doesn't use image pixels as error storage, also it doesn't have 0.3 + 0.3 + 0.3 + 0.3 = 0 error
|
||||
* Mutates pointContainer
|
||||
*/
|
||||
quantize(pointContainer: PointContainer, palette: Palette): IterableIterator<ImageQuantizerYieldValue>;
|
||||
private _fillErrorLine;
|
||||
private _setKernel;
|
||||
}
|
||||
//# sourceMappingURL=array.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../../../src/image/array.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAItE,oBAAY,yBAAyB;IACnC,cAAc,IAAI;IAClB,mBAAmB,IAAA;IACnB,MAAM,IAAA;IACN,QAAQ,IAAA;IACR,MAAM,IAAA;IACN,MAAM,IAAA;IACN,MAAM,IAAA;IACN,SAAS,IAAA;IACT,UAAU,IAAA;CACX;AAGD,qBAAa,mBAAoB,SAAQ,sBAAsB;IAC7D,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,OAAO,CAAc;IAC7B,kCAAkC;IAClC,OAAO,CAAC,uBAAuB,CAAU;IAEzC,OAAO,CAAC,SAAS,CAA6B;gBAG5C,uBAAuB,EAAE,0BAA0B,EACnD,MAAM,EAAE,yBAAyB,EACjC,UAAU,UAAO,EACjB,4BAA4B,SAAI,EAChC,sBAAsB,UAAQ;IAWhC;;;;OAIG;IACF,QAAQ,CACP,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,GACf,gBAAgB,CAAC,wBAAwB,CAAC;IAsH7C,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,UAAU;CAoHnB"}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
/**
|
||||
* @preserve
|
||||
* Copyright 2015-2018 Igor Bezkrovnyi
|
||||
* All rights reserved. (MIT Licensed)
|
||||
*
|
||||
* common.ts - part of Image Quantization Library
|
||||
*/
|
||||
import { PointContainer } from '../utils/pointContainer';
|
||||
import { Palette } from '../utils/palette';
|
||||
import { ImageQuantizerYieldValue } from './imageQuantizerYieldValue';
|
||||
export declare abstract class AbstractImageQuantizer {
|
||||
abstract quantize(pointContainer: PointContainer, palette: Palette): IterableIterator<ImageQuantizerYieldValue>;
|
||||
quantizeSync(pointContainer: PointContainer, palette: Palette): PointContainer;
|
||||
}
|
||||
//# sourceMappingURL=imageQuantizer.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"imageQuantizer.d.ts","sourceRoot":"","sources":["../../../../src/image/imageQuantizer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,8BAAsB,sBAAsB;IAC1C,QAAQ,CAAC,QAAQ,CACf,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,GACf,gBAAgB,CAAC,wBAAwB,CAAC;IAE7C,YAAY,CAAC,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO;CAS9D"}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
import { PointContainer } from '../utils';
|
||||
export interface ImageQuantizerYieldValue {
|
||||
progress: number;
|
||||
pointContainer?: PointContainer;
|
||||
}
|
||||
//# sourceMappingURL=imageQuantizerYieldValue.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"imageQuantizerYieldValue.d.ts","sourceRoot":"","sources":["../../../../src/image/imageQuantizerYieldValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC"}
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
/**
|
||||
* @preserve
|
||||
* Copyright 2015-2018 Igor Bezkrovnyi
|
||||
* All rights reserved. (MIT Licensed)
|
||||
*
|
||||
* iq.ts - Image Quantization Library
|
||||
*/
|
||||
export { AbstractImageQuantizer } from './imageQuantizer';
|
||||
export { ImageQuantizerYieldValue } from './imageQuantizerYieldValue';
|
||||
export { NearestColor } from './nearestColor';
|
||||
export { ErrorDiffusionArray, ErrorDiffusionArrayKernel } from './array';
|
||||
export { ErrorDiffusionRiemersma } from './riemersma';
|
||||
//# sourceMappingURL=index.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/image/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC"}
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
/**
|
||||
* @preserve
|
||||
* Copyright 2015-2018 Igor Bezkrovnyi
|
||||
* All rights reserved. (MIT Licensed)
|
||||
*
|
||||
* nearestColor.ts - part of Image Quantization Library
|
||||
*/
|
||||
import { AbstractImageQuantizer } from './imageQuantizer';
|
||||
import { AbstractDistanceCalculator } from '../distance/distanceCalculator';
|
||||
import { PointContainer } from '../utils/pointContainer';
|
||||
import { Palette } from '../utils/palette';
|
||||
import { ImageQuantizerYieldValue } from './imageQuantizerYieldValue';
|
||||
export declare class NearestColor extends AbstractImageQuantizer {
|
||||
private _distance;
|
||||
constructor(colorDistanceCalculator: AbstractDistanceCalculator);
|
||||
/**
|
||||
* Mutates pointContainer
|
||||
*/
|
||||
quantize(pointContainer: PointContainer, palette: Palette): IterableIterator<ImageQuantizerYieldValue>;
|
||||
}
|
||||
//# sourceMappingURL=nearestColor.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"nearestColor.d.ts","sourceRoot":"","sources":["../../../../src/image/nearestColor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,qBAAa,YAAa,SAAQ,sBAAsB;IACtD,OAAO,CAAC,SAAS,CAA6B;gBAElC,uBAAuB,EAAE,0BAA0B;IAK/D;;OAEG;IACF,QAAQ,CACP,cAAc,EAAE,cAAc,EAC9B,OAAO,EAAE,OAAO,GACf,gBAAgB,CAAC,wBAAwB,CAAC;CAyB9C"}
|
||||
+42
@@ -0,0 +1,42 @@
|
||||
/**
|
||||
* @preserve
|
||||
* MIT License
|
||||
*
|
||||
* Copyright 2015-2018 Igor Bezkrovnyi
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
* of this software and associated documentation files (the "Software"), to
|
||||
* deal in the Software without restriction, including without limitation the
|
||||
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
* sell copies of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
* IN THE SOFTWARE.
|
||||
*
|
||||
* riemersma.ts - part of Image Quantization Library
|
||||
*/
|
||||
import { AbstractImageQuantizer } from './imageQuantizer';
|
||||
import { AbstractDistanceCalculator } from '../distance/distanceCalculator';
|
||||
import { PointContainer } from '../utils/pointContainer';
|
||||
import { Palette } from '../utils/palette';
|
||||
export declare class ErrorDiffusionRiemersma extends AbstractImageQuantizer {
|
||||
private _distance;
|
||||
private _weights;
|
||||
private _errorQueueSize;
|
||||
constructor(colorDistanceCalculator: AbstractDistanceCalculator, errorQueueSize?: number, errorPropagation?: number);
|
||||
/**
|
||||
* Mutates pointContainer
|
||||
*/
|
||||
quantize(pointContainer: PointContainer, palette: Palette): Generator<import("./imageQuantizerYieldValue").ImageQuantizerYieldValue, void, undefined>;
|
||||
private static _createWeights;
|
||||
}
|
||||
//# sourceMappingURL=riemersma.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"riemersma.d.ts","sourceRoot":"","sources":["../../../../src/image/riemersma.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAI3C,qBAAa,uBAAwB,SAAQ,sBAAsB;IACjE,OAAO,CAAC,SAAS,CAA6B;IAC9C,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,eAAe,CAAS;gBAG9B,uBAAuB,EAAE,0BAA0B,EACnD,cAAc,SAAK,EACnB,gBAAgB,SAAI;IAWtB;;OAEG;IACF,QAAQ,CAAC,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO;IA8D1D,OAAO,CAAC,MAAM,CAAC,cAAc;CAgB9B"}
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
import { ImageQuantizerYieldValue } from '../imageQuantizerYieldValue';
|
||||
export declare function hilbertCurve(width: number, height: number, callback: (x: number, y: number) => void): Generator<ImageQuantizerYieldValue, void, undefined>;
|
||||
//# sourceMappingURL=hilbertCurve.d.ts.map
|
||||
Generated
Vendored
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"hilbertCurve.d.ts","sourceRoot":"","sources":["../../../../../src/image/spaceFillingCurves/hilbertCurve.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAqBvE,wBAAiB,YAAY,CAC3B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI,wDAiBzC"}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
/**
|
||||
* @preserve
|
||||
* Copyright 2015-2018 Igor Bezkrovnyi
|
||||
* All rights reserved. (MIT Licensed)
|
||||
*
|
||||
* iq.ts - Image Quantization Library
|
||||
*/
|
||||
import * as constants from './constants';
|
||||
import * as conversion from './conversion';
|
||||
import * as distance from './distance';
|
||||
import * as palette from './palette';
|
||||
import * as image from './image';
|
||||
import * as quality from './quality';
|
||||
import * as utils from './utils';
|
||||
export { buildPalette, buildPaletteSync, applyPalette, applyPaletteSync, } from './basicAPI';
|
||||
export type { ImageQuantization, PaletteQuantization, ColorDistanceFormula, } from './basicAPI';
|
||||
export { constants, conversion, distance, palette, image, quality, utils };
|
||||
//# sourceMappingURL=index.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AAEjC,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC"}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
/**
|
||||
* @preserve
|
||||
* Copyright 2015-2018 Igor Bezkrovnyi
|
||||
* All rights reserved. (MIT Licensed)
|
||||
*
|
||||
* iq.ts - Image Quantization Library
|
||||
*/
|
||||
export { AbstractPaletteQuantizer } from './paletteQuantizer';
|
||||
export { NeuQuant } from './neuquant/neuquant';
|
||||
export { NeuQuantFloat } from './neuquant/neuquantFloat';
|
||||
export { RGBQuant } from './rgbquant/rgbquant';
|
||||
export { ColorHistogram } from './rgbquant/colorHistogram';
|
||||
export { WuQuant, WuColorCube } from './wu/wuQuant';
|
||||
export { PaletteQuantizerYieldValue } from './paletteQuantizerYieldValue';
|
||||
//# sourceMappingURL=index.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/palette/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC"}
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
import { PointContainer } from '../../utils/pointContainer';
|
||||
import { AbstractDistanceCalculator } from '../../distance/distanceCalculator';
|
||||
import { AbstractPaletteQuantizer } from '../paletteQuantizer';
|
||||
import { PaletteQuantizerYieldValue } from '../paletteQuantizerYieldValue';
|
||||
export declare class NeuQuant extends AbstractPaletteQuantizer {
|
||||
private static readonly _prime1;
|
||||
private static readonly _prime2;
|
||||
private static readonly _prime3;
|
||||
private static readonly _prime4;
|
||||
private static readonly _minpicturebytes;
|
||||
private static readonly _nCycles;
|
||||
private static readonly _initialBiasShift;
|
||||
private static readonly _initialBias;
|
||||
private static readonly _gammaShift;
|
||||
private static readonly _betaShift;
|
||||
private static readonly _beta;
|
||||
private static readonly _betaGamma;
|
||||
private static readonly _radiusBiasShift;
|
||||
private static readonly _radiusBias;
|
||||
private static readonly _radiusDecrease;
|
||||
private static readonly _alphaBiasShift;
|
||||
private static readonly _initAlpha;
|
||||
private static readonly _radBiasShift;
|
||||
private static readonly _radBias;
|
||||
private static readonly _alphaRadBiasShift;
|
||||
private static readonly _alphaRadBias;
|
||||
private _pointArray;
|
||||
private readonly _networkSize;
|
||||
private _network;
|
||||
/** sampling factor 1..30 */
|
||||
private readonly _sampleFactor;
|
||||
private _radPower;
|
||||
private _freq;
|
||||
private _bias;
|
||||
private readonly _distance;
|
||||
constructor(colorDistanceCalculator: AbstractDistanceCalculator, colors?: number);
|
||||
sample(pointContainer: PointContainer): void;
|
||||
quantize(): IterableIterator<PaletteQuantizerYieldValue>;
|
||||
private _init;
|
||||
/**
|
||||
* Main Learning Loop
|
||||
*/
|
||||
private _learn;
|
||||
private _buildPalette;
|
||||
/**
|
||||
* Move adjacent neurons by precomputed alpha*(1-((i-j)^2/[r]^2)) in radpower[|i-j|]
|
||||
*/
|
||||
private _alterNeighbour;
|
||||
/**
|
||||
* Move neuron i towards biased (b,g,r) by factor alpha
|
||||
*/
|
||||
private _alterSingle;
|
||||
/**
|
||||
* Search for biased BGR values
|
||||
* description:
|
||||
* finds closest neuron (min dist) and updates freq
|
||||
* finds best neuron (min dist-bias) and returns position
|
||||
* for frequently chosen neurons, freq[i] is high and bias[i] is negative
|
||||
* bias[i] = _gamma*((1/this._networkSize)-freq[i])
|
||||
*
|
||||
* Original distance equation:
|
||||
* dist = abs(dR) + abs(dG) + abs(dB)
|
||||
*/
|
||||
private _contest;
|
||||
}
|
||||
//# sourceMappingURL=neuquant.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"neuquant.d.ts","sourceRoot":"","sources":["../../../../../src/palette/neuquant/neuquant.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAyD3E,qBAAa,QAAS,SAAQ,wBAAwB;IAKpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAO;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAO;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAO;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAO;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IAG5D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAO;IAGvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAM;IAG/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAmC;IACvE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAM;IAKzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAM;IACxC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAgD;IAG7E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CACsC;IAKxE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAK;IAG7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAkC;IAGrE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAM;IAK7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAM;IAG7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAGnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAK;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAA+B;IAC/D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CACU;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAoC;IAEzE,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAY;IAE5B,4BAA4B;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IACxC,OAAO,CAAC,SAAS,CAAY;IAG7B,OAAO,CAAC,KAAK,CAAY;IAGzB,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;gBAGrD,uBAAuB,EAAE,0BAA0B,EACnD,MAAM,SAAM;IAgBd,MAAM,CAAC,cAAc,EAAE,cAAc;IAIpC,QAAQ,IAAI,gBAAgB,CAAC,0BAA0B,CAAC;IAWzD,OAAO,CAAC,KAAK;IAgBb;;OAEG;IACH,OAAO,CAAE,MAAM;IA2Ef,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAgCvB;;OAEG;IACH,OAAO,CAAC,YAAY;IAoBpB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,QAAQ;CAkCjB"}
|
||||
+66
@@ -0,0 +1,66 @@
|
||||
import { PointContainer } from '../../utils/pointContainer';
|
||||
import { AbstractDistanceCalculator } from '../../distance/distanceCalculator';
|
||||
import { AbstractPaletteQuantizer } from '../paletteQuantizer';
|
||||
import { PaletteQuantizerYieldValue } from '../paletteQuantizerYieldValue';
|
||||
export declare class NeuQuantFloat extends AbstractPaletteQuantizer {
|
||||
private static readonly _prime1;
|
||||
private static readonly _prime2;
|
||||
private static readonly _prime3;
|
||||
private static readonly _prime4;
|
||||
private static readonly _minpicturebytes;
|
||||
private static readonly _nCycles;
|
||||
private static readonly _initialBiasShift;
|
||||
private static readonly _initialBias;
|
||||
private static readonly _gammaShift;
|
||||
private static readonly _betaShift;
|
||||
private static readonly _beta;
|
||||
private static readonly _betaGamma;
|
||||
private static readonly _radiusBiasShift;
|
||||
private static readonly _radiusBias;
|
||||
private static readonly _radiusDecrease;
|
||||
private static readonly _alphaBiasShift;
|
||||
private static readonly _initAlpha;
|
||||
private static readonly _radBiasShift;
|
||||
private static readonly _radBias;
|
||||
private static readonly _alphaRadBiasShift;
|
||||
private static readonly _alphaRadBias;
|
||||
private _pointArray;
|
||||
private readonly _networkSize;
|
||||
private _network;
|
||||
/** sampling factor 1..30 */
|
||||
private readonly _sampleFactor;
|
||||
private _radPower;
|
||||
private _freq;
|
||||
private _bias;
|
||||
private readonly _distance;
|
||||
constructor(colorDistanceCalculator: AbstractDistanceCalculator, colors?: number);
|
||||
sample(pointContainer: PointContainer): void;
|
||||
quantize(): Generator<PaletteQuantizerYieldValue, void, undefined>;
|
||||
private _init;
|
||||
/**
|
||||
* Main Learning Loop
|
||||
*/
|
||||
private _learn;
|
||||
private _buildPalette;
|
||||
/**
|
||||
* Move adjacent neurons by precomputed alpha*(1-((i-j)^2/[r]^2)) in radpower[|i-j|]
|
||||
*/
|
||||
private _alterNeighbour;
|
||||
/**
|
||||
* Move neuron i towards biased (b,g,r) by factor alpha
|
||||
*/
|
||||
private _alterSingle;
|
||||
/**
|
||||
* Search for biased BGR values
|
||||
* description:
|
||||
* finds closest neuron (min dist) and updates freq
|
||||
* finds best neuron (min dist-bias) and returns position
|
||||
* for frequently chosen neurons, freq[i] is high and bias[i] is negative
|
||||
* bias[i] = _gamma*((1/this._networkSize)-freq[i])
|
||||
*
|
||||
* Original distance equation:
|
||||
* dist = abs(dR) + abs(dG) + abs(dB)
|
||||
*/
|
||||
private _contest;
|
||||
}
|
||||
//# sourceMappingURL=neuquantFloat.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"neuquantFloat.d.ts","sourceRoot":"","sources":["../../../../../src/palette/neuquant/neuquantFloat.ts"],"names":[],"mappings":"AA6BA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAsC3E,qBAAa,aAAc,SAAQ,wBAAwB;IAKzD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAO;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAO;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAO;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAO;IACtC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAGjE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAO;IAGvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAM;IAG/C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAwC;IAC5E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAM;IAKzC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAM;IACxC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAC4B;IAGzD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAEuB;IAKzD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAK;IAG7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAuC;IAG1E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAM;IAK7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAM;IAG7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAsC;IAGxE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAK;IAC1C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAoC;IACpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CACoB;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAyC;IAE9E,OAAO,CAAC,WAAW,CAAW;IAC9B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAU;IACvC,OAAO,CAAC,QAAQ,CAAiB;IAEjC,4BAA4B;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IACxC,OAAO,CAAC,SAAS,CAAY;IAG7B,OAAO,CAAC,KAAK,CAAY;IAGzB,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;gBAGrD,uBAAuB,EAAE,0BAA0B,EACnD,MAAM,SAAM;IAgBd,MAAM,CAAC,cAAc,EAAE,cAAc;IAIpC,QAAQ;IAUT,OAAO,CAAC,KAAK;IAgBb;;OAEG;IACH,OAAO,CAAE,MAAM;IA0Ef,OAAO,CAAC,aAAa;IAWrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAgCvB;;OAEG;IACH,OAAO,CAAC,YAAY;IAoBpB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,QAAQ;CAiCjB"}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
/**
|
||||
* @preserve
|
||||
* Copyright 2015-2018 Igor Bezkrovnyi
|
||||
* All rights reserved. (MIT Licensed)
|
||||
*
|
||||
* common.ts - part of Image Quantization Library
|
||||
*/
|
||||
import { PointContainer } from '../utils/pointContainer';
|
||||
import { PaletteQuantizerYieldValue } from './paletteQuantizerYieldValue';
|
||||
export declare abstract class AbstractPaletteQuantizer {
|
||||
abstract sample(pointContainer: PointContainer): void;
|
||||
abstract quantize(): IterableIterator<PaletteQuantizerYieldValue>;
|
||||
quantizeSync(): import("../utils").Palette;
|
||||
}
|
||||
//# sourceMappingURL=paletteQuantizer.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"paletteQuantizer.d.ts","sourceRoot":"","sources":["../../../../src/palette/paletteQuantizer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAE1E,8BAAsB,wBAAwB;IAC5C,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,cAAc,GAAG,IAAI;IACrD,QAAQ,CAAC,QAAQ,IAAI,gBAAgB,CAAC,0BAA0B,CAAC;IAEjE,YAAY;CASb"}
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
import { Palette } from '../utils';
|
||||
export interface PaletteQuantizerYieldValue {
|
||||
progress: number;
|
||||
palette?: Palette;
|
||||
}
|
||||
//# sourceMappingURL=paletteQuantizerYieldValue.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"paletteQuantizerYieldValue.d.ts","sourceRoot":"","sources":["../../../../src/palette/paletteQuantizerYieldValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB"}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
import { PointContainer } from '../../utils/pointContainer';
|
||||
export declare class ColorHistogram {
|
||||
private static _boxSize;
|
||||
private static _boxPixels;
|
||||
private static _hueGroups;
|
||||
private _method;
|
||||
private _hueStats;
|
||||
private _histogram;
|
||||
private _initColors;
|
||||
private _minHueCols;
|
||||
constructor(method: number, colors: number);
|
||||
sample(pointContainer: PointContainer): void;
|
||||
getImportanceSortedColorsIDXI32(): number[];
|
||||
private _colorStats1D;
|
||||
private _colorStats2D;
|
||||
private _iterateBox;
|
||||
/**
|
||||
* partitions a rectangle of width x height into
|
||||
* array of boxes stepX x stepY (or less)
|
||||
*/
|
||||
private _makeBoxes;
|
||||
}
|
||||
//# sourceMappingURL=colorHistogram.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"colorHistogram.d.ts","sourceRoot":"","sources":["../../../../../src/palette/rgbquant/colorHistogram.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAU5D,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAY;IACnC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAK;IAC9B,OAAO,CAAC,MAAM,CAAC,UAAU,CAAM;IAG/B,OAAO,CAAC,OAAO,CAAS;IAGxB,OAAO,CAAC,SAAS,CAAgB;IAEjC,OAAO,CAAC,UAAU,CAA8B;IAGhD,OAAO,CAAC,WAAW,CAAS;IAG5B,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAmB1C,MAAM,CAAC,cAAc,EAAE,cAAc;IAWrC,+BAA+B;IA4C/B,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,aAAa;IAuCrB,OAAO,CAAC,WAAW;IAenB;;;OAGG;IACH,OAAO,CAAC,UAAU;CAyBnB"}
|
||||
+16
@@ -0,0 +1,16 @@
|
||||
import { PointContainer } from '../../utils/pointContainer';
|
||||
import { AbstractDistanceCalculator } from '../../distance/distanceCalculator';
|
||||
import { AbstractPaletteQuantizer } from '../paletteQuantizer';
|
||||
import { PaletteQuantizerYieldValue } from '../paletteQuantizerYieldValue';
|
||||
export declare class RGBQuant extends AbstractPaletteQuantizer {
|
||||
private readonly _colors;
|
||||
private readonly _initialDistance;
|
||||
private readonly _distanceIncrement;
|
||||
private readonly _histogram;
|
||||
private readonly _distance;
|
||||
constructor(colorDistanceCalculator: AbstractDistanceCalculator, colors?: number, method?: number);
|
||||
sample(image: PointContainer): void;
|
||||
quantize(): Generator<PaletteQuantizerYieldValue, void, undefined>;
|
||||
private _buildPalette;
|
||||
}
|
||||
//# sourceMappingURL=rgbquant.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"rgbquant.d.ts","sourceRoot":"","sources":["../../../../../src/palette/rgbquant/rgbquant.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAE/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAiB3E,qBAAa,QAAS,SAAQ,wBAAwB;IAEpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IAGjC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAG1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAG5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiB;IAC5C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;gBAGrD,uBAAuB,EAAE,0BAA0B,EACnD,MAAM,SAAM,EACZ,MAAM,SAAI;IAeZ,MAAM,CAAC,KAAK,EAAE,cAAc;IAqB3B,QAAQ;IAUT,OAAO,CAAE,aAAa;CA8FvB"}
|
||||
+79
@@ -0,0 +1,79 @@
|
||||
import { PointContainer } from '../../utils/pointContainer';
|
||||
import { AbstractDistanceCalculator } from '../../distance/distanceCalculator';
|
||||
import { AbstractPaletteQuantizer } from '../paletteQuantizer';
|
||||
import { PaletteQuantizerYieldValue } from '../paletteQuantizerYieldValue';
|
||||
export declare class WuColorCube {
|
||||
redMinimum: number;
|
||||
redMaximum: number;
|
||||
greenMinimum: number;
|
||||
greenMaximum: number;
|
||||
blueMinimum: number;
|
||||
blueMaximum: number;
|
||||
volume: number;
|
||||
alphaMinimum: number;
|
||||
alphaMaximum: number;
|
||||
}
|
||||
export declare class WuQuant extends AbstractPaletteQuantizer {
|
||||
private static readonly _alpha;
|
||||
private static readonly _red;
|
||||
private static readonly _green;
|
||||
private static readonly _blue;
|
||||
private _reds;
|
||||
private _greens;
|
||||
private _blues;
|
||||
private _alphas;
|
||||
private _sums;
|
||||
private _weights;
|
||||
private _momentsRed;
|
||||
private _momentsGreen;
|
||||
private _momentsBlue;
|
||||
private _momentsAlpha;
|
||||
private _moments;
|
||||
private _table;
|
||||
private _pixels;
|
||||
private _cubes;
|
||||
private _colors;
|
||||
private _significantBitsPerChannel;
|
||||
private _maxSideIndex;
|
||||
private _alphaMaxSideIndex;
|
||||
private _sideSize;
|
||||
private _alphaSideSize;
|
||||
private readonly _distance;
|
||||
constructor(colorDistanceCalculator: AbstractDistanceCalculator, colors?: number, significantBitsPerChannel?: number);
|
||||
sample(image: PointContainer): void;
|
||||
quantize(): Generator<PaletteQuantizerYieldValue, void, undefined>;
|
||||
private _preparePalette;
|
||||
private _addColor;
|
||||
/**
|
||||
* Converts the histogram to a series of _moments.
|
||||
*/
|
||||
private _calculateMoments;
|
||||
/**
|
||||
* Computes the volume of the cube in a specific moment.
|
||||
*/
|
||||
private static _volumeFloat;
|
||||
/**
|
||||
* Computes the volume of the cube in a specific moment.
|
||||
*/
|
||||
private static _volume;
|
||||
/**
|
||||
* Splits the cube in given position][and color direction.
|
||||
*/
|
||||
private static _top;
|
||||
/**
|
||||
* Splits the cube in a given color direction at its minimum.
|
||||
*/
|
||||
private static _bottom;
|
||||
/**
|
||||
* Calculates statistical variance for a given cube.
|
||||
*/
|
||||
private _calculateVariance;
|
||||
/**
|
||||
* Finds the optimal (maximal) position for the cut.
|
||||
*/
|
||||
private _maximize;
|
||||
private _cut;
|
||||
private _initialize;
|
||||
private _setQuality;
|
||||
}
|
||||
//# sourceMappingURL=wuQuant.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"wuQuant.d.ts","sourceRoot":"","sources":["../../../../../src/palette/wu/wuQuant.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AA2E3E,qBAAa,WAAW;IACtB,UAAU,EAAG,MAAM,CAAC;IACpB,UAAU,EAAG,MAAM,CAAC;IACpB,YAAY,EAAG,MAAM,CAAC;IACtB,YAAY,EAAG,MAAM,CAAC;IACtB,WAAW,EAAG,MAAM,CAAC;IACrB,WAAW,EAAG,MAAM,CAAC;IACrB,MAAM,EAAG,MAAM,CAAC;IAChB,YAAY,EAAG,MAAM,CAAC;IACtB,YAAY,EAAG,MAAM,CAAC;CACvB;AAED,qBAAa,OAAQ,SAAQ,wBAAwB;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAK;IACnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAK;IACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAK;IACnC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAK;IAElC,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,OAAO,CAAY;IAC3B,OAAO,CAAC,KAAK,CAAY;IAEzB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,OAAO,CAAW;IAE1B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,OAAO,CAAU;IAEzB,OAAO,CAAC,0BAA0B,CAAU;IAC5C,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,kBAAkB,CAAU;IACpC,OAAO,CAAC,SAAS,CAAU;IAC3B,OAAO,CAAC,cAAc,CAAU;IAEhC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA6B;gBAGrD,uBAAuB,EAAE,0BAA0B,EACnD,MAAM,SAAM,EACZ,yBAAyB,SAAI;IAQ/B,MAAM,CAAC,KAAK,EAAE,cAAc;IAU3B,QAAQ;IA2BT,OAAO,CAAE,eAAe;IAiHxB,OAAO,CAAC,SAAS;IAqBjB;;OAEG;IACH,OAAO,CAAE,iBAAiB;IA2L1B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,YAAY;IAqD3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,OAAO;IAItB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,IAAI;IA8HnB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,OAAO;IA4HtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgB1B;;OAEG;IACH,OAAO,CAAC,SAAS;IAwEjB,OAAO,CAAC,IAAI;IAmIZ,OAAO,CAAC,WAAW;IAoEnB,OAAO,CAAC,WAAW;CAQpB"}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
/**
|
||||
* @preserve
|
||||
* Copyright 2015-2018 Igor Bezkrovnyi
|
||||
* All rights reserved. (MIT Licensed)
|
||||
*
|
||||
* iq.ts - Image Quantization Library
|
||||
*/
|
||||
export { ssim } from './ssim';
|
||||
//# sourceMappingURL=index.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/quality/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
|
||||
+10
@@ -0,0 +1,10 @@
|
||||
/**
|
||||
* @preserve
|
||||
* Copyright 2015-2018 Igor Bezkrovnyi
|
||||
* All rights reserved. (MIT Licensed)
|
||||
*
|
||||
* ssim.ts - part of Image Quantization Library
|
||||
*/
|
||||
import { PointContainer } from '../utils/pointContainer';
|
||||
export declare function ssim(image1: PointContainer, image2: PointContainer): number;
|
||||
//# sourceMappingURL=ssim.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"ssim.d.ts","sourceRoot":"","sources":["../../../../src/quality/ssim.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAQzD,wBAAgB,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,cAAc,UAqDlE"}
|
||||
+8
@@ -0,0 +1,8 @@
|
||||
export declare function degrees2radians(n: number): number;
|
||||
export declare function max3(a: number, b: number, c: number): number;
|
||||
export declare function min3(a: number, b: number, c: number): number;
|
||||
export declare function intInRange(value: number, low: number, high: number): number;
|
||||
export declare function inRange0to255Rounded(n: number): number;
|
||||
export declare function inRange0to255(n: number): number;
|
||||
export declare function stableSort<T>(arrayToSort: T[], callback: (a: T, b: T) => number): T[];
|
||||
//# sourceMappingURL=arithmetic.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"arithmetic.d.ts","sourceRoot":"","sources":["../../../../src/utils/arithmetic.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,UAExC;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAKnD;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAKnD;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAIlE;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,UAK7C;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,UAItC;AAED,wBAAgB,UAAU,CAAC,CAAC,EAC1B,WAAW,EAAE,CAAC,EAAE,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,OAsBjC"}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
export declare class HueStatistics {
|
||||
private _numGroups;
|
||||
private _minCols;
|
||||
private _stats;
|
||||
private _groupsFull;
|
||||
constructor(numGroups: number, minCols: number);
|
||||
check(i32: number): void;
|
||||
injectIntoDictionary(histG: Record<string, number>): void;
|
||||
injectIntoArray(histG: string[]): void;
|
||||
}
|
||||
//# sourceMappingURL=hueStatistics.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"hueStatistics.d.ts","sourceRoot":"","sources":["../../../../src/utils/hueStatistics.ts"],"names":[],"mappings":"AAeA,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,WAAW,CAAS;gBAEhB,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAY9C,KAAK,CAAC,GAAG,EAAE,MAAM;IA6BjB,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAclD,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE;CAWhC"}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
/**
|
||||
* @preserve
|
||||
* Copyright 2015-2018 Igor Bezkrovnyi
|
||||
* All rights reserved. (MIT Licensed)
|
||||
*
|
||||
* iq.ts - Image Quantization Library
|
||||
*/
|
||||
import * as arithmetic from './arithmetic';
|
||||
import { HueStatistics } from './hueStatistics';
|
||||
import { Palette } from './palette';
|
||||
import { Point } from './point';
|
||||
import { PointContainer } from './pointContainer';
|
||||
import { ProgressTracker } from './progressTracker';
|
||||
export { Point, PointContainer, Palette, HueStatistics, ProgressTracker, arithmetic, };
|
||||
//# sourceMappingURL=index.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EACL,KAAK,EACL,cAAc,EACd,OAAO,EACP,aAAa,EACb,eAAe,EACf,UAAU,GACX,CAAC"}
|
||||
+25
@@ -0,0 +1,25 @@
|
||||
/**
|
||||
* @preserve
|
||||
* Copyright 2015-2018 Igor Bezkrovnyi
|
||||
* All rights reserved. (MIT Licensed)
|
||||
*
|
||||
* palette.ts - part of Image Quantization Library
|
||||
*/
|
||||
import { Point } from './point';
|
||||
import { PointContainer } from './pointContainer';
|
||||
import { AbstractDistanceCalculator } from '../distance/distanceCalculator';
|
||||
export declare function hueGroup(hue: number, segmentsNumber: number): number;
|
||||
export declare class Palette {
|
||||
private readonly _pointContainer;
|
||||
private readonly _pointArray;
|
||||
private _i32idx;
|
||||
constructor();
|
||||
add(color: Point): void;
|
||||
has(color: Point): boolean;
|
||||
getNearestColor(colorDistanceCalculator: AbstractDistanceCalculator, color: Point): Point;
|
||||
getPointContainer(): PointContainer;
|
||||
private _nearestPointFromCache;
|
||||
private _getNearestIndex;
|
||||
sort(): void;
|
||||
}
|
||||
//# sourceMappingURL=palette.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"palette.d.ts","sourceRoot":"","sources":["../../../../src/utils/palette.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAO5E,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,UAS3D;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;IAC3C,OAAO,CAAC,OAAO,CAAiC;;IAQhD,GAAG,CAAC,KAAK,EAAE,KAAK;IAKhB,GAAG,CAAC,KAAK,EAAE,KAAK;IAShB,eAAe,CACb,uBAAuB,EAAE,0BAA0B,EACnD,KAAK,EAAE,KAAK;IAOd,iBAAiB;IAkCjB,OAAO,CAAC,sBAAsB;IAI9B,OAAO,CAAC,gBAAgB;IAoFxB,IAAI;CAkCL"}
|
||||
+29
@@ -0,0 +1,29 @@
|
||||
export interface PointRGBA {
|
||||
r: number;
|
||||
g: number;
|
||||
b: number;
|
||||
a: number;
|
||||
}
|
||||
/**
|
||||
* v8 optimized class
|
||||
* 1) "constructor" should have initialization with worst types
|
||||
* 2) "set" should have |0 / >>> 0
|
||||
*/
|
||||
export declare class Point implements PointRGBA {
|
||||
r: number;
|
||||
g: number;
|
||||
b: number;
|
||||
a: number;
|
||||
uint32: number;
|
||||
rgba: number[];
|
||||
static createByQuadruplet(quadruplet: number[]): Point;
|
||||
static createByRGBA(red: number, green: number, blue: number, alpha: number): Point;
|
||||
static createByUint32(uint32: number): Point;
|
||||
constructor();
|
||||
from(point: Point): void;
|
||||
getLuminosity(useAlphaChannel: boolean): number;
|
||||
private _loadUINT32;
|
||||
private _loadRGBA;
|
||||
private _loadQuadruplet;
|
||||
}
|
||||
//# sourceMappingURL=point.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"point.d.ts","sourceRoot":"","sources":["../../../../src/utils/point.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,SAAS;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;;GAIG;AACH,qBAAa,KAAM,YAAW,SAAS;IACrC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,EAAE,CAAC;IAGf,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE;IAa9C,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAa3E,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM;;IA2BpC,IAAI,CAAC,KAAK,EAAE,KAAK;IA0BjB,aAAa,CAAC,eAAe,EAAE,OAAO;IAsBtC,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,eAAe;CAuBxB"}
|
||||
+34
@@ -0,0 +1,34 @@
|
||||
/// <reference types="node" />
|
||||
/**
|
||||
* @preserve
|
||||
* Copyright 2015-2018 Igor Bezkrovnyi
|
||||
* All rights reserved. (MIT Licensed)
|
||||
*
|
||||
* pointContainer.ts - part of Image Quantization Library
|
||||
*/
|
||||
import { Point } from './point';
|
||||
/**
|
||||
* v8 optimizations done.
|
||||
* fromXXX methods are static to move out polymorphic code from class instance itself.
|
||||
*/
|
||||
export declare class PointContainer {
|
||||
private readonly _pointArray;
|
||||
private _width;
|
||||
private _height;
|
||||
constructor();
|
||||
getWidth(): number;
|
||||
getHeight(): number;
|
||||
setWidth(width: number): void;
|
||||
setHeight(height: number): void;
|
||||
getPointArray(): Point[];
|
||||
clone(): PointContainer;
|
||||
toUint32Array(): Uint32Array;
|
||||
toUint8Array(): Uint8Array;
|
||||
static fromHTMLImageElement(img: HTMLImageElement): PointContainer;
|
||||
static fromHTMLCanvasElement(canvas: HTMLCanvasElement): PointContainer;
|
||||
static fromImageData(imageData: ImageData): PointContainer;
|
||||
static fromUint8Array(uint8Array: number[] | Uint8Array | Uint8ClampedArray, width: number, height: number): PointContainer;
|
||||
static fromUint32Array(uint32Array: Uint32Array, width: number, height: number): PointContainer;
|
||||
static fromBuffer(buffer: Buffer, width: number, height: number): PointContainer;
|
||||
}
|
||||
//# sourceMappingURL=pointContainer.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"pointContainer.d.ts","sourceRoot":"","sources":["../../../../src/utils/pointContainer.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;;IAQxB,QAAQ;IAIR,SAAS;IAIT,QAAQ,CAAC,KAAK,EAAE,MAAM;IAItB,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,aAAa;IAIb,KAAK;IAcL,aAAa;IAWb,YAAY;IAIZ,MAAM,CAAC,oBAAoB,CAAC,GAAG,EAAE,gBAAgB;IAcjD,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,iBAAiB;IAUtD,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,SAAS;IAOzC,MAAM,CAAC,cAAc,CACnB,UAAU,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,iBAAiB,EACrD,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM;IAehB,MAAM,CAAC,eAAe,CACpB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM;IAchB,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAQhE"}
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
export declare class ProgressTracker {
|
||||
static readonly steps = 100;
|
||||
progress: number;
|
||||
private _step;
|
||||
private _range;
|
||||
private _last;
|
||||
private _progressRange;
|
||||
constructor(valueRange: number, progressRange: number);
|
||||
shouldNotify(current: number): boolean;
|
||||
}
|
||||
//# sourceMappingURL=progressTracker.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"progressTracker.d.ts","sourceRoot":"","sources":["../../../../src/utils/progressTracker.ts"],"names":[],"mappings":"AAAA,qBAAa,eAAe;IAC1B,MAAM,CAAC,QAAQ,CAAC,KAAK,OAAO;IAE5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,cAAc,CAAS;gBAEnB,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;IAQrD,YAAY,CAAC,OAAO,EAAE,MAAM;CAY7B"}
|
||||
Reference in new issue
Block a user