mirror of
https://github.com/thangisme/notes.git
synced 2024-06-16 13:25:34 +00:00
31 lines
1.3 KiB
JavaScript
31 lines
1.3 KiB
JavaScript
module.exports = function CMYK(color) {
|
|
color.installColorSpace('CMYK', ['cyan', 'magenta', 'yellow', 'black', 'alpha'], {
|
|
rgb: function () {
|
|
return new color.RGB((1 - this._cyan * (1 - this._black) - this._black),
|
|
(1 - this._magenta * (1 - this._black) - this._black),
|
|
(1 - this._yellow * (1 - this._black) - this._black),
|
|
this._alpha);
|
|
},
|
|
|
|
fromRgb: function () { // Becomes one.color.RGB.prototype.cmyk
|
|
// Adapted from http://www.javascripter.net/faq/rgb2cmyk.htm
|
|
var red = this._red,
|
|
green = this._green,
|
|
blue = this._blue,
|
|
cyan = 1 - red,
|
|
magenta = 1 - green,
|
|
yellow = 1 - blue,
|
|
black = 1;
|
|
if (red || green || blue) {
|
|
black = Math.min(cyan, Math.min(magenta, yellow));
|
|
cyan = (cyan - black) / (1 - black);
|
|
magenta = (magenta - black) / (1 - black);
|
|
yellow = (yellow - black) / (1 - black);
|
|
} else {
|
|
black = 1;
|
|
}
|
|
return new color.CMYK(cyan, magenta, yellow, black, this._alpha);
|
|
}
|
|
});
|
|
};
|