123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372 |
- ! function(t, e) {
- "object" == typeof exports && "object" == typeof module ? module.exports = e() : "function" == typeof define &&
- define.amd ? define([], e) : "object" == typeof exports ? exports.imageConversion = e() : t.imageConversion =
- e()
- }(this, (function() {
- return function(t) {
- var e = {};
- function n(r) {
- if (e[r]) return e[r].exports;
- var o = e[r] = {
- i: r,
- l: !1,
- exports: {}
- };
- return t[r].call(o.exports, o, o.exports, n), o.l = !0, o.exports
- }
- return n.m = t, n.c = e, n.d = function(t, e, r) {
- n.o(t, e) || Object.defineProperty(t, e, {
- enumerable: !0,
- get: r
- })
- }, n.r = function(t) {
- "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol
- .toStringTag, {
- value: "Module"
- }), Object.defineProperty(t, "__esModule", {
- value: !0
- })
- }, n.t = function(t, e) {
- if (1 & e && (t = n(t)), 8 & e) return t;
- if (4 & e && "object" == typeof t && t && t.__esModule) return t;
- var r = Object.create(null);
- if (n.r(r), Object.defineProperty(r, "default", {
- enumerable: !0,
- value: t
- }), 2 & e && "string" != typeof t)
- for (var o in t) n.d(r, o, function(e) {
- return t[e]
- }.bind(null, o));
- return r
- }, n.n = function(t) {
- var e = t && t.__esModule ? function() {
- return t.default
- } : function() {
- return t
- };
- return n.d(e, "a", e), e
- }, n.o = function(t, e) {
- return Object.prototype.hasOwnProperty.call(t, e)
- }, n.p = "", n(n.s = 0)
- }([function(t, e, n) {
- "use strict";
- var r;
- function o(t) {
- return ["image/png", "image/jpeg", "image/gif"].some(e => e === t)
- }
- n.r(e), n.d(e, "canvastoDataURL", (function() {
- return a
- })), n.d(e, "canvastoFile", (function() {
- return c
- })), n.d(e, "dataURLtoFile", (function() {
- return s
- })), n.d(e, "dataURLtoImage", (function() {
- return l
- })), n.d(e, "downloadFile", (function() {
- return d
- })), n.d(e, "filetoDataURL", (function() {
- return f
- })), n.d(e, "imagetoCanvas", (function() {
- return g
- })), n.d(e, "urltoBlob", (function() {
- return w
- })), n.d(e, "urltoImage", (function() {
- return m
- })), n.d(e, "compress", (function() {
- return p
- })), n.d(e, "compressAccurately", (function() {
- return b
- })), n.d(e, "EImageType", (function() {
- return r
- })),
- function(t) {
- t.PNG = "image/png", t.JPEG = "image/jpeg", t.GIF = "image/gif"
- }(r || (r = {}));
- var i = function(t, e, n, r) {
- return new(n || (n = Promise))((function(o, i) {
- function a(t) {
- try {
- u(r.next(t))
- } catch (t) {
- i(t)
- }
- }
- function c(t) {
- try {
- u(r.throw(t))
- } catch (t) {
- i(t)
- }
- }
- function u(t) {
- var e;
- t.done ? o(t.value) : (e = t.value, e instanceof n ? e : new n((
- function(t) {
- t(e)
- }))).then(a, c)
- }
- u((r = r.apply(t, e || [])).next())
- }))
- };
- function a(t, e = .92, n = r.JPEG) {
- return i(this, void 0, void 0, (function*() {
- return o(n) || (n = r.JPEG), t.toDataURL(n, e)
- }))
- }
- function c(t, e = .92, n = r.JPEG) {
- return new Promise(r => t.toBlob(t => r(t), n, e))
- }
- var u = function(t, e, n, r) {
- return new(n || (n = Promise))((function(o, i) {
- function a(t) {
- try {
- u(r.next(t))
- } catch (t) {
- i(t)
- }
- }
- function c(t) {
- try {
- u(r.throw(t))
- } catch (t) {
- i(t)
- }
- }
- function u(t) {
- var e;
- t.done ? o(t.value) : (e = t.value, e instanceof n ? e : new n((
- function(t) {
- t(e)
- }))).then(a, c)
- }
- u((r = r.apply(t, e || [])).next())
- }))
- };
- function s(t, e) {
- return u(this, void 0, void 0, (function*() {
- const n = t.split(",");
- let r = n[0].match(/:(.*?);/)[1];
- const i = atob(n[1]);
- let a = i.length;
- const c = new Uint8Array(a);
- for (; a--;) c[a] = i.charCodeAt(a);
- return o(e) && (r = e), new Blob([c], {
- type: r
- })
- }))
- }
- function l(t) {
- return new Promise((e, n) => {
- const r = new Image;
- r.onload = () => e(r), r.onerror = () => n(new Error(
- "dataURLtoImage(): dataURL is illegal")), r.src = t
- })
- }
- function d(t, e) {
- const n = document.createElement("a");
- n.href = window.URL.createObjectURL(t), n.download = e || Date.now().toString(36),
- document.body.appendChild(n);
- const r = document.createEvent("MouseEvents");
- r.initEvent("click", !1, !1), n.dispatchEvent(r), document.body.removeChild(n)
- }
- function f(t) {
- return new Promise(e => {
- const n = new FileReader;
- n.onloadend = t => e(t.target.result), n.readAsDataURL(t)
- })
- }
- var h = function(t, e, n, r) {
- return new(n || (n = Promise))((function(o, i) {
- function a(t) {
- try {
- u(r.next(t))
- } catch (t) {
- i(t)
- }
- }
- function c(t) {
- try {
- u(r.throw(t))
- } catch (t) {
- i(t)
- }
- }
- function u(t) {
- var e;
- t.done ? o(t.value) : (e = t.value, e instanceof n ? e : new n((
- function(t) {
- t(e)
- }))).then(a, c)
- }
- u((r = r.apply(t, e || [])).next())
- }))
- };
- function g(t, e = {}) {
- return h(this, void 0, void 0, (function*() {
- const n = Object.assign({}, e),
- r = document.createElement("canvas"),
- o = r.getContext("2d");
- let i, a;
- for (const t in n) Object.prototype.hasOwnProperty.call(n, t) && (n[t] =
- Number(n[t]));
- if (n.scale) {
- const e = n.scale > 0 && n.scale < 10 ? n.scale : 1;
- a = t.width * e, i = t.height * e
- } else a = n.width || n.height * t.width / t.height || t.width, i = n
- .height || n.width * t.height / t.width || t.height;
- switch ([5, 6, 7, 8].some(t => t === n.orientation) ? (r.height = a, r
- .width = i) : (r.height = i, r.width = a), n.orientation) {
- case 3:
- o.rotate(180 * Math.PI / 180), o.drawImage(t, -r.width, -r
- .height, r.width, r.height);
- break;
- case 6:
- o.rotate(90 * Math.PI / 180), o.drawImage(t, 0, -r.width, r
- .height, r.width);
- break;
- case 8:
- o.rotate(270 * Math.PI / 180), o.drawImage(t, -r.height, 0, r
- .height, r.width);
- break;
- case 2:
- o.translate(r.width, 0), o.scale(-1, 1), o.drawImage(t, 0, 0, r
- .width, r.height);
- break;
- case 4:
- o.translate(r.width, 0), o.scale(-1, 1), o.rotate(180 * Math
- .PI / 180), o.drawImage(t, -r.width, -r.height, r.width,
- r.height);
- break;
- case 5:
- o.translate(r.width, 0), o.scale(-1, 1), o.rotate(90 * Math.PI /
- 180), o.drawImage(t, 0, -r.width, r.height, r.width);
- break;
- case 7:
- o.translate(r.width, 0), o.scale(-1, 1), o.rotate(270 * Math
- .PI / 180), o.drawImage(t, -r.height, 0, r.height, r
- .width);
- break;
- default:
- o.drawImage(t, 0, 0, r.width, r.height)
- }
- return r
- }))
- }
- function w(t) {
- return fetch(t).then(t => t.blob())
- }
- function m(t) {
- return new Promise((e, n) => {
- const r = new Image;
- r.onload = () => e(r), r.onerror = () => n(new Error(
- "urltoImage(): Image failed to load, please check the image URL"
- )), r.src = t
- })
- }
- var y = function(t, e, n, r) {
- return new(n || (n = Promise))((function(o, i) {
- function a(t) {
- try {
- u(r.next(t))
- } catch (t) {
- i(t)
- }
- }
- function c(t) {
- try {
- u(r.throw(t))
- } catch (t) {
- i(t)
- }
- }
- function u(t) {
- var e;
- t.done ? o(t.value) : (e = t.value, e instanceof n ? e : new n((
- function(t) {
- t(e)
- }))).then(a, c)
- }
- u((r = r.apply(t, e || [])).next())
- }))
- };
- function p(t, e = {}) {
- return y(this, void 0, void 0, (function*() {
- if (!(t instanceof Blob)) throw new Error(
- "compress(): First arg must be a Blob object or a File object."
- );
- if ("object" != typeof e && (e = Object.assign({
- quality: e
- })), e.quality = Number(e.quality), Number.isNaN(e.quality))
- return t;
- const n = yield f(t);
- let i = n.split(",")[0].match(/:(.*?);/)[1],
- c = r.JPEG;
- o(e.type) && (c = e.type, i = e.type);
- const u = yield l(n), d = yield g(u, Object.assign({}, e)), h = yield a(
- d, e.quality, c), w = yield s(h, i);
- return w.size > t.size ? t : w
- }))
- }
- function b(t, e = {}) {
- return y(this, void 0, void 0, (function*() {
- if (!(t instanceof Blob)) throw new Error(
- "compressAccurately(): First arg must be a Blob object or a File object."
- );
- if ("object" != typeof e && (e = Object.assign({
- size: e
- })), e.size = Number(e.size), Number.isNaN(e.size)) return t;
- if (1024 * e.size > t.size) return t;
- e.accuracy = Number(e.accuracy), (!e.accuracy || e.accuracy < .8 || e
- .accuracy > .99) && (e.accuracy = .95);
- const n = e.size * (2 - e.accuracy) * 1024,
- i = 1024 * e.size,
- c = e.size * e.accuracy * 1024,
- u = yield f(t);
- let d = u.split(",")[0].match(/:(.*?);/)[1],
- h = r.JPEG;
- o(e.type) && (h = e.type, d = e.type);
- const w = yield l(u), m = yield g(w, Object.assign({}, e));
- let y, p = .5;
- const b = [null, null];
- for (let t = 1; t <= 7; t++) {
- y = yield a(m, p, h);
- const e = .75 * y.length;
- if (7 === t) {
- (n < e || c > e) && (y = [y, ...b].filter(t => t).sort((t, e) =>
- Math.abs(.75 * t.length - i) - Math.abs(.75 * e.length -
- i))[0]);
- break
- }
- if (n < e) b[1] = y, p -= Math.pow(.5, t + 1);
- else {
- if (!(c > e)) break;
- b[0] = y, p += Math.pow(.5, t + 1)
- }
- }
- const v = yield s(y, d);
- return v.size > t.size ? t : v
- }))
- }
- }])
- }));
|