pixel-utils
Version:
Utility Functions for Pixels
36 lines (35 loc) • 1.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = rgbaToRgb;
var _makeNoDataRgb = _interopRequireDefault(require("../make-no-data-rgb"));
var _popAlpha = _interopRequireDefault(require("../pop-alpha"));
var _sliceAlpha = _interopRequireDefault(require("../slice-alpha"));
var _safelyConvert = _interopRequireDefault(require("./safely-convert"));
var _quicklyConvert = _interopRequireDefault(require("./quickly-convert"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// converting from RGBA to RGB
// where we no longer have an alpha value
// assuming pixel is already scaled
// assume no data pixels have zero transparency
function rgbaToRgb({
new_no_data_value,
safe = true
} = {}) {
if (safe) {
if (typeof new_no_data_value === "number") {
// @ts-ignore
return _safelyConvert.default.bind(null, new_no_data_value);
} else {
return _sliceAlpha.default;
}
} else {
if (typeof new_no_data_value === "number") {
// @ts-ignore
return _quicklyConvert.default.bind(null, (0, _makeNoDataRgb.default)(new_no_data_value));
} else {
return _popAlpha.default;
}
}
}