index.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports["default"] = void 0;
  7. var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
  8. var _jpegJs = _interopRequireDefault(require("jpeg-js"));
  9. var _utils = require("@jimp/utils");
  10. var MIME_TYPE = 'image/jpeg';
  11. var _default = function _default() {
  12. return {
  13. mime: (0, _defineProperty2["default"])({}, MIME_TYPE, ['jpeg', 'jpg', 'jpe']),
  14. constants: {
  15. MIME_JPEG: MIME_TYPE
  16. },
  17. decoders: (0, _defineProperty2["default"])({}, MIME_TYPE, _jpegJs["default"].decode),
  18. encoders: (0, _defineProperty2["default"])({}, MIME_TYPE, function (image) {
  19. return _jpegJs["default"].encode(image.bitmap, image._quality).data;
  20. }),
  21. "class": {
  22. // The quality to be used when saving JPEG images
  23. _quality: 100,
  24. /**
  25. * Sets the quality of the image when saving as JPEG format (default is 100)
  26. * @param {number} n The quality to use 0-100
  27. * @param {function(Error, Jimp)} cb (optional) a callback for when complete
  28. * @returns {Jimp} this for chaining of methods
  29. */
  30. quality: function quality(n, cb) {
  31. if (typeof n !== 'number') {
  32. return _utils.throwError.call(this, 'n must be a number', cb);
  33. }
  34. if (n < 0 || n > 100) {
  35. return _utils.throwError.call(this, 'n must be a number 0 - 100', cb);
  36. }
  37. this._quality = Math.round(n);
  38. if ((0, _utils.isNodePattern)(cb)) {
  39. cb.call(this, null, this);
  40. }
  41. return this;
  42. }
  43. }
  44. };
  45. };
  46. exports["default"] = _default;
  47. //# sourceMappingURL=index.js.map