123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- "use strict";
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports["default"] = void 0;
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
- var _pngjs = require("pngjs");
- var _utils = require("@jimp/utils");
- var MIME_TYPE = 'image/png'; // PNG filter types
- var PNG_FILTER_AUTO = -1;
- var PNG_FILTER_NONE = 0;
- var PNG_FILTER_SUB = 1;
- var PNG_FILTER_UP = 2;
- var PNG_FILTER_AVERAGE = 3;
- var PNG_FILTER_PATH = 4;
- var _default = function _default() {
- return {
- mime: (0, _defineProperty2["default"])({}, MIME_TYPE, ['png']),
- constants: {
- MIME_PNG: MIME_TYPE,
- PNG_FILTER_AUTO: PNG_FILTER_AUTO,
- PNG_FILTER_NONE: PNG_FILTER_NONE,
- PNG_FILTER_SUB: PNG_FILTER_SUB,
- PNG_FILTER_UP: PNG_FILTER_UP,
- PNG_FILTER_AVERAGE: PNG_FILTER_AVERAGE,
- PNG_FILTER_PATH: PNG_FILTER_PATH
- },
- hasAlpha: (0, _defineProperty2["default"])({}, MIME_TYPE, true),
- decoders: (0, _defineProperty2["default"])({}, MIME_TYPE, _pngjs.PNG.sync.read),
- encoders: (0, _defineProperty2["default"])({}, MIME_TYPE, function (data) {
- var png = new _pngjs.PNG({
- width: data.bitmap.width,
- height: data.bitmap.height
- });
- png.data = data.bitmap.data;
- return _pngjs.PNG.sync.write(png, {
- width: data.bitmap.width,
- height: data.bitmap.height,
- deflateLevel: data._deflateLevel,
- deflateStrategy: data._deflateStrategy,
- filterType: data._filterType,
- colorType: typeof data._colorType === 'number' ? data._colorType : data._rgba ? 6 : 2,
- inputHasAlpha: data._rgba
- });
- }),
- "class": {
- _deflateLevel: 9,
- _deflateStrategy: 3,
- _filterType: PNG_FILTER_AUTO,
- _colorType: null,
- /**
- * Sets the deflate level used when saving as PNG format (default is 9)
- * @param {number} l Deflate level to use 0-9. 0 is no compression. 9 (default) is maximum compression.
- * @param {function(Error, Jimp)} cb (optional) a callback for when complete
- * @returns {Jimp} this for chaining of methods
- */
- deflateLevel: function deflateLevel(l, cb) {
- if (typeof l !== 'number') {
- return _utils.throwError.call(this, 'l must be a number', cb);
- }
- if (l < 0 || l > 9) {
- return _utils.throwError.call(this, 'l must be a number 0 - 9', cb);
- }
- this._deflateLevel = Math.round(l);
- if ((0, _utils.isNodePattern)(cb)) {
- cb.call(this, null, this);
- }
- return this;
- },
- /**
- * Sets the deflate strategy used when saving as PNG format (default is 3)
- * @param {number} s Deflate strategy to use 0-3.
- * @param {function(Error, Jimp)} cb (optional) a callback for when complete
- * @returns {Jimp} this for chaining of methods
- */
- deflateStrategy: function deflateStrategy(s, cb) {
- if (typeof s !== 'number') {
- return _utils.throwError.call(this, 's must be a number', cb);
- }
- if (s < 0 || s > 3) {
- return _utils.throwError.call(this, 's must be a number 0 - 3', cb);
- }
- this._deflateStrategy = Math.round(s);
- if ((0, _utils.isNodePattern)(cb)) {
- cb.call(this, null, this);
- }
- return this;
- },
- /**
- * Sets the filter type used when saving as PNG format (default is automatic filters)
- * @param {number} f The quality to use -1-4.
- * @param {function(Error, Jimp)} cb (optional) a callback for when complete
- * @returns {Jimp} this for chaining of methods
- */
- filterType: function filterType(f, cb) {
- if (typeof f !== 'number') {
- return _utils.throwError.call(this, 'n must be a number', cb);
- }
- if (f < -1 || f > 4) {
- return _utils.throwError.call(this, 'n must be -1 (auto) or a number 0 - 4', cb);
- }
- this._filterType = Math.round(f);
- if ((0, _utils.isNodePattern)(cb)) {
- cb.call(this, null, this);
- }
- return this;
- },
- /**
- * Sets the color type used when saving as PNG format
- * @param {number} s color type to use 0, 2, 4, 6.
- * @param {function(Error, Jimp)} cb (optional) a callback for when complete
- * @returns {Jimp} this for chaining of methods
- */
- colorType: function colorType(s, cb) {
- if (typeof s !== 'number') {
- return _utils.throwError.call(this, 's must be a number', cb);
- }
- if (s !== 0 && s !== 2 && s !== 4 && s !== 6) {
- return _utils.throwError.call(this, 's must be a number 0, 2, 4, 6.', cb);
- }
- this._colorType = Math.round(s);
- if ((0, _utils.isNodePattern)(cb)) {
- cb.call(this, null, this);
- }
- return this;
- }
- }
- };
- };
- exports["default"] = _default;
- //# sourceMappingURL=index.js.map
|