index.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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 _bmpJs = _interopRequireDefault(require("bmp-js"));
  9. var _utils = require("@jimp/utils");
  10. var MIME_TYPE = 'image/bmp';
  11. var MIME_TYPE_SECOND = 'image/x-ms-bmp';
  12. function toAGBR(image) {
  13. return (0, _utils.scan)(image, 0, 0, image.bitmap.width, image.bitmap.height, function (x, y, index) {
  14. var red = this.bitmap.data[index + 0];
  15. var green = this.bitmap.data[index + 1];
  16. var blue = this.bitmap.data[index + 2];
  17. var alpha = this.bitmap.data[index + 3];
  18. this.bitmap.data[index + 0] = alpha;
  19. this.bitmap.data[index + 1] = blue;
  20. this.bitmap.data[index + 2] = green;
  21. this.bitmap.data[index + 3] = red;
  22. }).bitmap;
  23. }
  24. function fromAGBR(bitmap) {
  25. return (0, _utils.scan)({
  26. bitmap: bitmap
  27. }, 0, 0, bitmap.width, bitmap.height, function (x, y, index) {
  28. var alpha = this.bitmap.data[index + 0];
  29. var blue = this.bitmap.data[index + 1];
  30. var green = this.bitmap.data[index + 2];
  31. var red = this.bitmap.data[index + 3];
  32. this.bitmap.data[index + 0] = red;
  33. this.bitmap.data[index + 1] = green;
  34. this.bitmap.data[index + 2] = blue;
  35. this.bitmap.data[index + 3] = bitmap.is_with_alpha ? alpha : 0xff;
  36. }).bitmap;
  37. }
  38. var decode = function decode(data) {
  39. return fromAGBR(_bmpJs["default"].decode(data));
  40. };
  41. var encode = function encode(image) {
  42. return _bmpJs["default"].encode(toAGBR(image)).data;
  43. };
  44. var _default = function _default() {
  45. var _decoders, _encoders;
  46. return {
  47. mime: (0, _defineProperty2["default"])({}, MIME_TYPE, ['bmp']),
  48. constants: {
  49. MIME_BMP: MIME_TYPE,
  50. MIME_X_MS_BMP: MIME_TYPE_SECOND
  51. },
  52. decoders: (_decoders = {}, (0, _defineProperty2["default"])(_decoders, MIME_TYPE, decode), (0, _defineProperty2["default"])(_decoders, MIME_TYPE_SECOND, decode), _decoders),
  53. encoders: (_encoders = {}, (0, _defineProperty2["default"])(_encoders, MIME_TYPE, encode), (0, _defineProperty2["default"])(_encoders, MIME_TYPE_SECOND, encode), _encoders)
  54. };
  55. };
  56. exports["default"] = _default;
  57. //# sourceMappingURL=index.js.map