watermark-js-plus 0.8.23 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs.js","sources":["../node_modules/tslib/tslib.es6.js","../../../src/utils/index.ts","../../../src/utils/initialization.ts","../../../src/utils/bootstrap.ts","../../../src/core/watermark.ts","../../../src/core/blind.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { CustomContentSVGType, WatermarkOptions } from '../types'\n\nexport const convertImage = (canvas: HTMLCanvasElement): string => {\n return canvas.toDataURL('image/png', 1)\n}\n\nexport const isFunction = (value: Function): boolean => {\n return typeof value === 'function'\n}\n\nexport const isUndefined = (value: any): boolean => {\n return value === undefined\n}\n\nexport const isString = (value: any): boolean => {\n return typeof value === 'string'\n}\n\nexport const createSVGElement = (tagName: string, attrs: {[key: string]: string} = {}, namespaceURI = 'http://www.w3.org/2000/svg'): Element => {\n const element = document.createElementNS(namespaceURI, tagName)\n for (const attr in attrs) {\n element.setAttribute(attr, attrs[attr])\n }\n return element\n}\n\nexport const getMultiLineData = (ctx: CanvasRenderingContext2D, text: string, maxWidth: number) => {\n const result = []\n let str = ''\n for (let i = 0, len = text.length; i < len; i++) {\n str += text.charAt(i)\n if (ctx.measureText(str).width > maxWidth) {\n result.push(str.substring(0, str.length - 1))\n str = ''\n i--\n }\n }\n result.push(str)\n return result\n}\n\nexport const createCustomContentSVG = (ctx: CanvasRenderingContext2D, options: WatermarkOptions): CustomContentSVGType => {\n const svgElement = createSVGElement('svg', {\n xmlns: 'http://www.w3.org/2000/svg'\n })\n const bodyElement = document.createElement('div')\n bodyElement.setAttribute('xmlns', 'http://www.w3.org/1999/xhtml')\n bodyElement.style.cssText = `\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n font: ${ctx.font};\n color: ${options.fontColor};\n`\n bodyElement.innerHTML = `<div class=\"rich-text-content\">${options.content}</div>`\n document.body.appendChild(bodyElement)\n const { offsetHeight, offsetWidth } = <HTMLElement>bodyElement.querySelector('.rich-text-content')\n document.body.removeChild(bodyElement)\n const width = options.richTextWidth || offsetWidth || options.width\n const height = options.richTextHeight || offsetHeight || options.height\n const foreignObjectElement = createSVGElement('foreignObject', {\n width: width.toString(),\n height: height.toString()\n })\n foreignObjectElement.appendChild(bodyElement)\n svgElement.appendChild(foreignObjectElement)\n return {\n element: svgElement,\n width,\n height\n }\n}\n\nexport const convertSVGToImage = (svg: Element): string => {\n const richContent = svg.outerHTML.replace(/\\n/g, '').replace(/\\t/g, '').replace(/#/g, '%23')\n return `data:image/svg+xml;charset=utf-8,${richContent}`\n}\n\nexport const getValue = (v1: any, v2: any) => {\n if (isUndefined(v1)) {\n return v2\n } else {\n return v1\n }\n}\n\nexport const loadImage = (url: string, width: number | undefined = undefined, height: number | undefined = undefined): Promise<HTMLImageElement> => {\n const image = new Image()\n image.setAttribute('crossOrigin', 'Anonymous')\n !isUndefined(width) && (image.width = <number> width)\n !isUndefined(height) && (image.height = <number> height)\n image.src = url\n return new Promise(resolve => {\n image.onload = () => {\n resolve(image)\n }\n })\n}\n","import { AdvancedStyleParamsType, TextAlignType, TextBaselineType, WatermarkOptions } from '../types'\nimport { getMultiLineData, isUndefined } from './index'\n\nexport const initialOptions = {\n width: 300,\n height: 300,\n rotate: 45,\n auxiliaryLine: false,\n translatePlacement: 'middle',\n contentType: 'text',\n content: 'hello watermark-js-plus',\n textType: 'fill',\n imageWidth: 0,\n imageHeight: 0,\n lineHeight: 30,\n zIndex: 2147483647,\n backgroundPosition: '0 0, 0 0',\n backgroundRepeat: 'repeat',\n fontSize: '20px',\n fontFamily: 'sans-serif',\n fontStyle: '',\n fontVariant: '',\n fontColor: '#000',\n fontWeight: 'normal',\n filter: 'none',\n globalAlpha: 0.5,\n mode: 'default',\n mutationObserve: true,\n unique: true,\n parent: 'body',\n onSuccess: () => {},\n onBeforeDestroy: () => {},\n onDestroyed: () => {},\n onObserveError: () => {}\n}\n\nexport const generateRecommendOptions = (canvas: HTMLCanvasElement, options: WatermarkOptions, args: Partial<WatermarkOptions>) => {\n const ctx = canvas.getContext('2d')\n if (ctx === null) {\n throw new Error('get context error')\n }\n ctx.font = `${options.fontStyle} ${options.fontVariant} ${options.fontWeight} ${options.fontSize} ${options.fontFamily}`\n ctx.filter = options.filter\n if (options?.rotate) {\n options.rotate = (360 - options.rotate % 360) * (Math.PI / 180)\n }\n if (isUndefined(args.textRowMaxWidth)) {\n options.textRowMaxWidth = options.width\n }\n const result = {\n image: {\n rect: {\n width: options.imageWidth,\n height: options.imageHeight\n },\n position: {\n x: 0,\n y: 0\n }\n },\n textLine: {\n data: [] as string[],\n yOffsetValue: 0\n },\n advancedStyleParams: {\n linear: {\n x0: 0,\n x1: 0\n },\n radial: {\n x0: 0,\n y0: 0,\n r0: 0,\n x1: 0,\n y1: 0,\n r1: 0\n },\n conic: {\n x: 0,\n y: 0,\n startAngle: 0\n },\n pattern: {}\n } as AdvancedStyleParamsType\n }\n switch (options.contentType) {\n case 'text':\n result.textLine.data = [options.content]\n break\n // case 'image':\n // break\n case 'multi-line-text':\n result.textLine.data = getMultiLineData(ctx, options.content, <number> options.textRowMaxWidth)\n break\n // case 'rich-text':\n // break\n }\n let translateX: number = options.width / 2\n let translateY: number = options.height / 2\n let textBaseline: TextBaselineType = 'middle'\n let textAlign: TextAlignType = 'center'\n\n if (!isUndefined(args?.translateX) && !isUndefined(args?.translateY)) {\n translateX = <number> args?.translateX\n translateY = <number> args?.translateY\n textBaseline = 'top'\n textAlign = 'left'\n } else {\n // default middle\n // translateX = options.width / 2\n // translateY = options.height / 2\n // TextBaselineType = 'middle'\n // textAlign = 'center'\n result.advancedStyleParams.linear.x0 = -options.width / 2\n result.advancedStyleParams.linear.x1 = options.width / 2\n // result.advancedStyleParams.radial.x0 = 0\n // result.advancedStyleParams.radial.y0 = 0\n result.advancedStyleParams.radial.r0 = 0\n // result.advancedStyleParams.radial.x1 = 0\n // result.advancedStyleParams.radial.y1 = 0\n result.advancedStyleParams.radial.r1 = options.width / 2\n // result.advancedStyleParams.conic.x = 0\n // result.advancedStyleParams.conic.y = 0\n }\n switch (args.translatePlacement) {\n case 'top':\n translateX = options.width / 2\n translateY = 0\n textBaseline = 'top'\n // textAlign = 'center'\n result.advancedStyleParams.linear.x0 = -options.width / 2\n result.advancedStyleParams.linear.x1 = options.width / 2\n // result.advancedStyleParams.radial.x0 = 0\n result.advancedStyleParams.radial.y0 = result.textLine.data.length * options.lineHeight / 2\n // result.advancedStyleParams.radial.r0 = 0\n // result.advancedStyleParams.radial.x1 = 0\n // result.advancedStyleParams.radial.y1 = 0\n result.advancedStyleParams.radial.y1 = result.textLine.data.length * options.lineHeight / 2\n // result.advancedStyleParams.radial.r1 = options.width / 2\n // result.advancedStyleParams.conic.x = 0\n result.advancedStyleParams.conic.y = result.textLine.data.length * options.lineHeight / 2\n break\n case 'top-start':\n translateX = 0\n translateY = 0\n textBaseline = 'top'\n textAlign = 'start'\n result.advancedStyleParams.linear.x0 = 0\n result.advancedStyleParams.linear.x1 = options.width\n result.advancedStyleParams.radial.x0 = options.width / 2\n result.advancedStyleParams.radial.y0 = result.textLine.data.length * options.lineHeight / 2\n // result.advancedStyleParams.radial.r0 = 0\n result.advancedStyleParams.radial.x1 = options.width / 2\n result.advancedStyleParams.radial.y1 = result.textLine.data.length * options.lineHeight / 2\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = options.width / 2\n result.advancedStyleParams.conic.y = result.textLine.data.length * options.lineHeight / 2\n break\n case 'top-end':\n translateX = options.width\n translateY = 0\n textBaseline = 'top'\n textAlign = 'end'\n result.advancedStyleParams.linear.x0 = 0\n result.advancedStyleParams.linear.x1 = -options.width\n result.advancedStyleParams.radial.x0 = -options.width / 2\n result.advancedStyleParams.radial.y0 = result.textLine.data.length * options.lineHeight / 2\n // result.advancedStyleParams.radial.r0 = 0\n result.advancedStyleParams.radial.x1 = -options.width / 2\n result.advancedStyleParams.radial.y1 = result.textLine.data.length * options.lineHeight / 2\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = -options.width / 2\n result.advancedStyleParams.conic.y = result.textLine.data.length * options.lineHeight / 2\n break\n case 'bottom':\n translateX = options.width / 2\n translateY = options.height\n textBaseline = 'bottom'\n // textAlign = 'center'\n result.advancedStyleParams.linear.x0 = -options.width / 2\n result.advancedStyleParams.linear.x1 = options.width / 2\n // result.advancedStyleParams.radial.x0 = 0\n result.advancedStyleParams.radial.y0 = -result.textLine.data.length * options.lineHeight / 2\n // result.advancedStyleParams.radial.r0 = 0\n // result.advancedStyleParams.radial.x1 = 0\n result.advancedStyleParams.radial.y1 = -result.textLine.data.length * options.lineHeight / 2\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = 0\n result.advancedStyleParams.conic.y = -result.textLine.data.length * options.lineHeight / 2\n break\n case 'bottom-start':\n translateX = 0\n translateY = options.height\n textBaseline = 'bottom'\n textAlign = 'start'\n result.advancedStyleParams.linear.x0 = 0\n result.advancedStyleParams.linear.x1 = options.width\n result.advancedStyleParams.radial.x0 = options.width / 2\n result.advancedStyleParams.radial.y0 = -result.textLine.data.length * options.lineHeight / 2\n // result.advancedStyleParams.radial.r0 = 0\n result.advancedStyleParams.radial.x1 = options.width / 2\n result.advancedStyleParams.radial.y1 = -result.textLine.data.length * options.lineHeight / 2\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = options.width / 2\n result.advancedStyleParams.conic.y = -result.textLine.data.length * options.lineHeight / 2\n break\n case 'bottom-end':\n translateX = options.width\n translateY = options.height\n textBaseline = 'bottom'\n textAlign = 'end'\n result.advancedStyleParams.linear.x0 = 0\n result.advancedStyleParams.linear.x1 = -options.width\n result.advancedStyleParams.radial.x0 = -options.width / 2\n result.advancedStyleParams.radial.y0 = -result.textLine.data.length * options.lineHeight / 2\n // result.advancedStyleParams.radial.r0 = 0\n result.advancedStyleParams.radial.x1 = -options.width / 2\n result.advancedStyleParams.radial.y1 = -result.textLine.data.length * options.lineHeight / 2\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = -options.width / 2\n result.advancedStyleParams.conic.y = -result.textLine.data.length * options.lineHeight / 2\n break\n case 'left':\n translateX = 0\n translateY = options.height / 2\n // TextBaselineType = 'middle'\n textAlign = 'start'\n result.advancedStyleParams.linear.x0 = 0\n result.advancedStyleParams.linear.x1 = options.width\n result.advancedStyleParams.radial.x0 = options.width / 2\n // result.advancedStyleParams.radial.y0 = 0\n // result.advancedStyleParams.radial.r0 = 0\n result.advancedStyleParams.radial.x1 = options.width / 2\n // result.advancedStyleParams.radial.y1 = 0\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = options.width / 2\n result.advancedStyleParams.conic.y = 0\n break\n case 'right':\n translateX = options.width\n translateY = options.height / 2\n // TextBaselineType = 'middle'\n textAlign = 'end'\n result.advancedStyleParams.linear.x0 = 0\n result.advancedStyleParams.linear.x1 = -options.width\n result.advancedStyleParams.radial.x0 = -options.width / 2\n // result.advancedStyleParams.radial.y0 = 0\n // result.advancedStyleParams.radial.r0 = 0\n result.advancedStyleParams.radial.x1 = -options.width / 2\n // result.advancedStyleParams.radial.y1 = 0\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = -options.width / 2\n result.advancedStyleParams.conic.y = 0\n break\n }\n options.translateX = translateX\n options.translateY = translateY\n isUndefined(args?.textBaseline) && (options.textBaseline = textBaseline)\n isUndefined(args?.textAlign) && (options.textAlign = textAlign)\n\n if (options.contentType === 'multi-line-text') {\n switch (options.textBaseline) {\n case 'middle':\n result.textLine.yOffsetValue = (result.textLine.data.length - 1) * options.lineHeight / 2\n break\n case 'bottom':\n case 'alphabetic':\n case 'ideographic':\n result.textLine.yOffsetValue = (result.textLine.data.length - 1) * options.lineHeight\n break\n case 'top':\n case 'hanging':\n result.textLine.yOffsetValue = 0\n break\n }\n }\n\n return result\n}\n","export default () => {\n if (typeof window !== 'undefined') {\n Object.defineProperty(window, 'MutationObserver', {\n writable: false,\n configurable: false\n })\n Object.defineProperty(window, 'requestAnimationFrame', {\n writable: false,\n configurable: false\n })\n }\n}\n","import {\n convertImage,\n convertSVGToImage,\n createCustomContentSVG,\n isFunction,\n isUndefined,\n getValue,\n loadImage\n} from '../utils'\nimport {\n ChangeOptionsMode,\n WatermarkDom,\n WatermarkOptions\n} from '../types'\nimport { generateRecommendOptions, initialOptions } from '../utils/initialization'\nimport bootstrap from '../utils/bootstrap'\n\n/**\n * Watermark class\n */\nclass Watermark {\n private options: WatermarkOptions\n private parentElement: Element = document.body\n private observer?: MutationObserver\n private parentObserve?: MutationObserver\n private watermarkDom?: WatermarkDom\n private props?: Partial<WatermarkOptions>\n private canvas: HTMLCanvasElement\n private recommendOptions\n private checkWatermarkElementRequestID?: number\n\n /**\n * Watermark constructor\n * @param args - watermark args\n */\n constructor (args: Partial<WatermarkOptions> = {}) {\n this.props = args\n this.options = Object.assign({}, initialOptions, args)\n this.changeParentElement(this.options.parent)\n this.canvas = Watermark.createCanvas(this.options.width, this.options.height)\n this.recommendOptions = generateRecommendOptions(this.canvas, this.options, this.props)\n bootstrap()\n }\n\n /**\n * Create an HD canvas.\n * @param width - width of canvas\n * @param height - height of canvas\n */\n static createCanvas (width: number, height: number): HTMLCanvasElement {\n const ratio = window.devicePixelRatio || 1\n const canvas = document.createElement('canvas')\n canvas.width = width * ratio // actual rendered pixel\n canvas.height = height * ratio // actual rendered pixel\n canvas.style.width = `${width}px` // control display size\n canvas.style.height = `${height}px` // control display size\n canvas.getContext('2d')?.setTransform(ratio, 0, 0, ratio, 0, 0)\n return canvas\n }\n\n changeOptions (args: Partial<WatermarkOptions> = {}, mode: ChangeOptionsMode = 'overwrite') {\n this.initConfigData(args, mode)\n }\n\n /**\n * Creating a watermark.\n */\n async create () {\n if (!this.validateUnique()) {\n return\n }\n\n if (!this.validateContent()) {\n return\n }\n const firstDraw = isUndefined(this.watermarkDom)\n\n await this.draw()\n const image = convertImage(this.canvas)\n this.clearCanvas()\n this.watermarkDom = document.createElement('div')\n const watermarkInnerDom = document.createElement('div')\n this.watermarkDom.__WATERMARK__ = 'watermark'\n this.watermarkDom.__WATERMARK__INSTANCE__ = this\n const parentElementType = this.checkParentElementType()\n this.watermarkDom.style.cssText = `\n z-index: ${this.options.zIndex}!important;display:block!important;visibility:visible!important;transform:none!important;scale:none!important;\n ${parentElementType === 'custom' ? 'top:0!important;bottom:0!important;left:0!important;right:0!important;height:100%!important;pointer-events:none!important;position:absolute!important;' : 'position:relative!important;'}\n `\n watermarkInnerDom.style.cssText = `\n display:block!important;visibility:visible!important;pointer-events:none;top:0;bottom:0;left:0;right:0;transform:none!important;scale:none!important;\n position:${parentElementType === 'root' ? 'fixed' : 'absolute'}!important;-webkit-print-color-adjust:exact!important;width:100%!important;height:100%!important;\n z-index:${this.options.zIndex}!important;background-image:url(${image})!important;background-repeat:${this.options.backgroundRepeat}!important;\n background-size:${this.options.width}px ${this.options.height}px!important;background-position:${this.options.backgroundPosition}!important;\n `\n this.watermarkDom.append(watermarkInnerDom)\n this.parentElement.appendChild(this.watermarkDom)\n\n if (this.options.mutationObserve) {\n try {\n this.bindMutationObserve()\n } catch (e) {\n this.options.onObserveError?.()\n }\n }\n firstDraw && this.options.onSuccess?.()\n }\n\n /**\n * Delete this watermark.\n */\n destroy () {\n this.options.onBeforeDestroy?.()\n this.observer?.disconnect()\n this.parentObserve?.disconnect()\n if (!isUndefined(this.checkWatermarkElementRequestID)) {\n cancelAnimationFrame(<number> this.checkWatermarkElementRequestID)\n }\n this.watermarkDom?.remove()\n this.options.onDestroyed?.()\n }\n\n check () {\n if (!document.body.contains(<Node> this.watermarkDom)) {\n this.destroy()\n this.create()\n }\n }\n\n private initConfigData (args: Partial<WatermarkOptions>, mode: ChangeOptionsMode = 'overwrite') {\n this.props = args\n if (mode === 'overwrite') {\n this.options = Object.assign({}, initialOptions, args)\n } else {\n Object.keys(args).forEach(key => {\n this.options[key as keyof WatermarkOptions] = <never> args[key as keyof WatermarkOptions]\n })\n }\n this.changeParentElement(this.options.parent)\n this.canvas = Watermark.createCanvas(this.options.width, this.options.height)\n this.recommendOptions = generateRecommendOptions(this.canvas, this.options, this.props)\n // document.body?.appendChild(this.canvas)\n }\n\n private changeParentElement (parent: Element | string) {\n if (typeof parent === 'string') {\n const parentElement = document.querySelector(parent)\n parentElement && (this.parentElement = parentElement)\n } else {\n this.parentElement = parent\n }\n }\n\n private validateUnique (): boolean {\n let result = true\n if (this.options.unique) {\n this.parentElement.childNodes.forEach(node => {\n if (!result) {\n return\n }\n if (Object.hasOwnProperty.call(node, '__WATERMARK__')) {\n result = false\n // throw new Error('duplicate watermark error')\n }\n })\n }\n return result\n }\n\n private validateContent (): boolean {\n switch (this.options.contentType) {\n case 'image':\n return Object.hasOwnProperty.call(this.options, 'image')\n case 'multi-line-text':\n case 'rich-text':\n case 'text':\n return this.options.content.length > 0\n }\n return false\n }\n\n private draw (): Promise<HTMLCanvasElement> {\n const ctx = this.canvas.getContext('2d')\n if (ctx === null) {\n throw new Error('get context error')\n }\n\n if (this.options.auxiliaryLine) {\n ctx.beginPath()\n ctx.rect(1, 1, this.options.width, this.options.height)\n ctx.lineWidth = 1\n ctx.strokeStyle = '#000'\n ctx.stroke()\n ctx.closePath()\n\n ctx.beginPath()\n ctx.rect(this.options.translateX as number, this.options.translateY as number, 1, 1)\n ctx.lineWidth = 1\n ctx.strokeStyle = '#f00'\n ctx.stroke()\n ctx.closePath()\n }\n\n this.setStyle(ctx)\n ctx.save()\n ctx.translate(this.options.translateX as number, this.options.translateY as number)\n ctx.rotate(this.options.rotate)\n return new Promise((resolve) => {\n switch (this.options.contentType) {\n case 'text':\n this.drawText(ctx, resolve)\n break\n case 'image':\n this.drawImage(ctx, resolve)\n break\n case 'multi-line-text':\n this.drawMultiLineText(ctx, resolve)\n break\n case 'rich-text':\n this.drawRichText(ctx, resolve)\n break\n }\n })\n }\n\n private setStyle (ctx: CanvasRenderingContext2D) {\n let propName: 'fillStyle' | 'strokeStyle' = 'fillStyle'\n if (this.options.textType === 'stroke') {\n propName = 'strokeStyle'\n }\n let style: string | CanvasGradient | CanvasPattern | null = this.options.fontColor\n if (this.options?.advancedStyle) {\n switch (this.options.advancedStyle.type) {\n case 'linear':\n style = this.createLinearGradient(ctx)\n break\n case 'radial':\n style = this.createRadialGradient(ctx)\n break\n case 'conic':\n style = this.createConicGradient(ctx)\n break\n case 'pattern':\n style = this.createPattern(ctx)\n break\n }\n }\n ctx[propName] && style && (ctx[propName] = style)\n\n this.options.textAlign && (ctx.textAlign = this.options.textAlign)\n this.options.textBaseline && (ctx.textBaseline = this.options.textBaseline)\n ctx.globalAlpha = this.options.globalAlpha\n if (this.options.shadowStyle) {\n ctx.shadowBlur = getValue(this.options.shadowStyle.shadowBlur, 0)\n ctx.shadowColor = getValue(this.options.shadowStyle.shadowColor, '#00000000')\n ctx.shadowOffsetX = getValue(this.options.shadowStyle.shadowOffsetX, 0)\n ctx.shadowOffsetY = getValue(this.options.shadowStyle.shadowOffsetY, 0)\n }\n if (isFunction(<Function> this.options.extraDrawFunc)) {\n (<Function> this.options.extraDrawFunc)(ctx)\n }\n }\n\n private createLinearGradient (ctx: CanvasRenderingContext2D): CanvasGradient {\n const gradient = ctx.createLinearGradient(\n <number> getValue(this.options.advancedStyle?.params?.linear?.x0, this.recommendOptions.advancedStyleParams.linear.x0),\n <number> getValue(this.options.advancedStyle?.params?.linear?.y0, 0),\n <number> getValue(this.options.advancedStyle?.params?.linear?.x1, this.recommendOptions.advancedStyleParams.linear.x1),\n <number> getValue(this.options.advancedStyle?.params?.linear?.y1, 0)\n )\n this.options?.advancedStyle?.colorStops?.forEach(item => {\n gradient.addColorStop(item.offset, item.color)\n })\n return gradient\n }\n\n private createConicGradient (ctx: CanvasRenderingContext2D): CanvasGradient {\n const gradient = ctx.createConicGradient(\n <number> getValue(this.options?.advancedStyle?.params?.conic?.startAngle, 0),\n <number> getValue(this.options?.advancedStyle?.params?.conic?.x, this.recommendOptions.advancedStyleParams.conic.x),\n <number> getValue(this.options?.advancedStyle?.params?.conic?.y, this.recommendOptions.advancedStyleParams.conic.y)\n )\n this.options?.advancedStyle?.colorStops?.forEach(item => {\n gradient.addColorStop(item.offset, item.color)\n })\n return gradient\n }\n\n private createRadialGradient (ctx: CanvasRenderingContext2D): CanvasGradient {\n const gradient = ctx.createRadialGradient(\n <number> getValue(this.options?.advancedStyle?.params?.radial?.x0, this.recommendOptions.advancedStyleParams.radial.x0),\n <number> getValue(this.options?.advancedStyle?.params?.radial?.y0, this.recommendOptions.advancedStyleParams.radial.y0),\n <number> getValue(this.options?.advancedStyle?.params?.radial?.r0, this.recommendOptions.advancedStyleParams.radial.r0),\n <number> getValue(this.options?.advancedStyle?.params?.radial?.x1, this.recommendOptions.advancedStyleParams.radial.x1),\n <number> getValue(this.options?.advancedStyle?.params?.radial?.y1, this.recommendOptions.advancedStyleParams.radial.y1),\n <number> getValue(this.options?.advancedStyle?.params?.radial?.r1, this.recommendOptions.advancedStyleParams.radial.r1)\n )\n this.options?.advancedStyle?.colorStops?.forEach(item => {\n gradient.addColorStop(item.offset, item.color)\n })\n return gradient\n }\n\n private createPattern (ctx: CanvasRenderingContext2D): CanvasPattern | null {\n return ctx.createPattern(\n <HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas> this.options?.advancedStyle?.params?.pattern?.image,\n this.options?.advancedStyle?.params?.pattern?.repetition || ''\n )\n }\n\n private setText (ctx: CanvasRenderingContext2D, params: { text: string; x: number; y: number; maxWidth?: number }) {\n let methodName: 'fillText' | 'strokeText' = 'fillText'\n if (this.options.textType === 'stroke') {\n methodName = 'strokeText'\n }\n ctx[methodName] && ctx[methodName](params.text, params.x, params.y, params.maxWidth)\n }\n\n private drawText (ctx: CanvasRenderingContext2D, resolve: Function) {\n this.setText(ctx, {\n text: this.options.content,\n x: 0,\n y: 0,\n maxWidth: this.options.textRowMaxWidth || this.options.width\n })\n resolve(ctx.canvas)\n }\n\n private drawImage (ctx: CanvasRenderingContext2D, resolve: Function) {\n loadImage(<string> this.options.image).then(image => {\n const { width: imageWidth, height: imageHeight } = this.getImageRect(image)\n const imagePosition = this.getDrawImagePosition(imageWidth, imageHeight)\n ctx.drawImage(\n image,\n imagePosition.x,\n imagePosition.y,\n imageWidth,\n imageHeight\n )\n resolve(ctx.canvas)\n })\n }\n\n private drawMultiLineText (ctx: CanvasRenderingContext2D, resolve: Function) {\n // image.width = this.options.width\n // image.height = this.options.height\n // const element = createCustomContentSvg(context, this.options)\n // image.src = convertSVGToImage(element)\n // image.onload = () => {\n // context.translate(this.options.width / 2, this.options.height / 2)\n // context.rotate(this.options.rotate)\n // context.drawImage(\n // image,\n // -this.options.width / 2,\n // -this.options.height / 2,\n // context.canvas.width,\n // context.canvas.height\n // )\n // resolve(canvas)\n // }\n const lines = this.recommendOptions.textLine.data\n const yOffsetValue = this.recommendOptions.textLine.yOffsetValue\n lines.forEach((text, index) => {\n this.setText(ctx, { text, x: 0, y: this.options.lineHeight * index - yOffsetValue })\n })\n resolve(ctx.canvas)\n }\n\n private drawRichText (ctx: CanvasRenderingContext2D, resolve: Function) {\n const obj = createCustomContentSVG(ctx, this.options)\n loadImage(convertSVGToImage(obj.element), obj.width, obj.height).then(image => {\n const imagePosition = this.getDrawImagePosition(image.width, image.height)\n ctx.drawImage(\n image,\n imagePosition.x,\n imagePosition.y,\n ctx.canvas.width,\n ctx.canvas.height\n )\n resolve(ctx.canvas)\n })\n }\n\n private getImageRect (image: HTMLImageElement) {\n const rect = { width: this.options.imageWidth || 0, height: this.options.imageHeight || 0 }\n switch (true) {\n case rect.width !== 0 && rect.height === 0:\n rect.height = rect.width * image.height / image.width\n break\n case rect.width === 0 && rect.height !== 0:\n rect.width = rect.height * image.width / image.height\n break\n case rect.width === 0 && rect.height === 0:\n rect.width = image.width\n rect.height = image.height\n break\n }\n return rect\n }\n\n private getDrawImagePosition (imageWidth: number, imageHeight: number) {\n const result = {\n x: -imageWidth / 2,\n y: -imageHeight / 2\n }\n switch (this.options.translatePlacement) {\n case 'top':\n result.x = -imageWidth / 2\n result.y = 0\n break\n case 'top-start':\n result.x = 0\n result.y = 0\n break\n case 'top-end':\n result.x = -imageWidth\n result.y = 0\n break\n case 'bottom':\n result.x = -imageWidth / 2\n result.y = -imageHeight\n break\n case 'bottom-start':\n result.x = 0\n result.y = -imageHeight\n break\n case 'bottom-end':\n result.x = -imageWidth\n result.y = -imageHeight\n break\n case 'left':\n result.x = 0\n result.y = -imageHeight / 2\n break\n case 'right':\n result.x = -imageWidth\n result.y = -imageHeight / 2\n break\n }\n !isUndefined(this.props?.translateX) && (result.x = 0)\n !isUndefined(this.props?.translateY) && (result.y = 0)\n return result\n }\n\n private checkParentElementType () {\n if (['html', 'body'].includes(this.parentElement.tagName.toLocaleLowerCase())) {\n return 'root'\n }\n return 'custom'\n }\n\n private checkWatermarkElement () {\n if (!document.body.contains(<Node> this.watermarkDom)) {\n this.destroy()\n this.create()\n }\n this.checkWatermarkElementRequestID = requestAnimationFrame(this.checkWatermarkElement.bind(this))\n }\n\n private bindMutationObserve (): void {\n if (!this.watermarkDom) {\n return\n }\n this.checkWatermarkElementRequestID = requestAnimationFrame(this.checkWatermarkElement.bind(this))\n this.observer = new MutationObserver((mutationsList: MutationRecord[]) => {\n if (mutationsList.length > 0) {\n this.destroy()\n this.create()\n }\n })\n this.observer.observe(this.watermarkDom, {\n attributes: true, // 属性的变动\n childList: true, // 子节点的变动(指新增,删除或者更改)\n subtree: true, // 布尔值,表示是否将该观察器应用于该节点的所有后代节点。\n characterData: true // 节点内容或节点文本的变动。\n })\n this.parentObserve = new MutationObserver((mutationsList: MutationRecord[]) => {\n mutationsList.forEach(item => {\n if (\n item?.target === this.watermarkDom ||\n item?.removedNodes?.[0] === this.watermarkDom ||\n (item.type === 'childList' && item.target === this.parentElement && item.target.lastChild !== this.watermarkDom)\n ) {\n this.destroy()\n this.create()\n }\n })\n })\n this.parentObserve.observe(this.parentElement, {\n attributes: true, // 属性的变动\n childList: true, // 子节点的变动(指新增,删除或者更改)\n subtree: true, // 布尔值,表示是否将该观察器应用于该节点的所有后代节点。\n characterData: true // 节点内容或节点文本的变动。\n })\n }\n\n private clearCanvas () {\n const ctx = this.canvas.getContext('2d')\n if (ctx === null) {\n throw new Error('get context error')\n }\n ctx.restore()\n ctx.clearRect(0, 0, this.canvas.width, this.canvas.height)\n // this.canvas.width = this.options.w\n }\n}\n\nexport {\n Watermark\n}\n","import { DecodeBlindWatermarkOptions, WatermarkOptions } from '../types'\nimport { convertImage, isFunction } from '../utils'\nimport { Watermark } from './watermark'\n\n/**\n * BlindWatermark class\n */\nclass BlindWatermark extends Watermark {\n /**\n * BlindWatermark constructor\n * @param props - blind watermark options\n */\n constructor (props: Partial<WatermarkOptions> = {}) {\n props.globalAlpha = 0.005\n props.mode = 'blind'\n super(props)\n }\n\n /**\n * Decode blind watermark.\n * @param props - decode options\n */\n static decode (props: Partial<DecodeBlindWatermarkOptions>) {\n const options = Object.assign({\n url: '',\n fillColor: '#000',\n compositeOperation: 'color-burn',\n mode: 'canvas'\n }, props)\n if (!options.url) {\n return\n }\n if (options.mode === 'canvas') {\n const img = new Image()\n img.src = options.url\n img.onload = () => {\n const { width, height } = img\n const canvas = Watermark.createCanvas(width, height)\n const ctx = canvas.getContext('2d')\n if (ctx === null) {\n throw new Error('get context error')\n }\n ctx.drawImage(img, 0, 0, width, height)\n ctx.globalCompositeOperation = options.compositeOperation as any\n ctx.fillStyle = options.fillColor\n ctx.fillRect(0, 0, width, height)\n const resultImage = convertImage(canvas)\n if (options.onSuccess && isFunction(options.onSuccess)) {\n options.onSuccess?.(resultImage)\n }\n }\n }\n }\n}\n\nexport {\n BlindWatermark\n}\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
@@ -0,0 +1 @@
1
+ "use strict";var t=function(e,a){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a])},t(e,a)};function e(t,e,a,i){return new(a||(a=Promise))((function(n,o){function r(t){try{l(i.next(t))}catch(t){o(t)}}function s(t){try{l(i.throw(t))}catch(t){o(t)}}function l(t){var e;t.done?n(t.value):(e=t.value,e instanceof a?e:new a((function(t){t(e)}))).then(r,s)}l((i=i.apply(t,e||[])).next())}))}function a(t,e){var a,i,n,o,r={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(l){return function(s){if(a)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(r=0)),r;)try{if(a=1,i&&(n=2&s[0]?i.return:s[0]?i.throw||((n=i.return)&&n.call(i),0):i.next)&&!(n=n.call(i,s[1])).done)return n;switch(i=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return r.label++,{value:s[1],done:!1};case 5:r.label++,i=s[1],s=[0];continue;case 7:s=r.ops.pop(),r.trys.pop();continue;default:if(!(n=r.trys,(n=n.length>0&&n[n.length-1])||6!==s[0]&&2!==s[0])){r=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]<n[3])){r.label=s[1];break}if(6===s[0]&&r.label<n[1]){r.label=n[1],n=s;break}if(n&&r.label<n[2]){r.label=n[2],r.ops.push(s);break}n[2]&&r.ops.pop(),r.trys.pop();continue}s=e.call(t,r)}catch(t){s=[6,t],i=0}finally{a=n=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,l])}}}var i=function(t){return t.toDataURL("image/png",1)},n=function(t){return"function"==typeof t},o=function(t){return void 0===t},r=function(t,e,a){void 0===e&&(e={}),void 0===a&&(a="http://www.w3.org/2000/svg");var i=document.createElementNS(a,t);for(var n in e)i.setAttribute(n,e[n]);return i},s=function(t,e){return o(t)?e:t},l=function(t,e,a){void 0===e&&(e=void 0),void 0===a&&(a=void 0);var i=new Image;return i.setAttribute("crossOrigin","Anonymous"),!o(e)&&(i.width=e),!o(a)&&(i.height=a),i.src=t,new Promise((function(t){i.onload=function(){t(i)}}))},d={width:300,height:300,rotate:45,auxiliaryLine:!1,translatePlacement:"middle",contentType:"text",content:"hello watermark-js-plus",textType:"fill",imageWidth:0,imageHeight:0,lineHeight:30,zIndex:2147483647,backgroundPosition:"0 0, 0 0",backgroundRepeat:"repeat",fontSize:"20px",fontFamily:"sans-serif",fontStyle:"",fontVariant:"",fontColor:"#000",fontWeight:"normal",filter:"none",globalAlpha:.5,mode:"default",mutationObserve:!0,unique:!0,parent:"body",onSuccess:function(){},onBeforeDestroy:function(){},onDestroyed:function(){},onObserveError:function(){}},c=function(t,e,a){var i=t.getContext("2d");if(null===i)throw new Error("get context error");i.font="".concat(e.fontStyle," ").concat(e.fontVariant," ").concat(e.fontWeight," ").concat(e.fontSize," ").concat(e.fontFamily),i.filter=e.filter,(null==e?void 0:e.rotate)&&(e.rotate=(360-e.rotate%360)*(Math.PI/180)),o(a.textRowMaxWidth)&&(e.textRowMaxWidth=e.width);var n={image:{rect:{width:e.imageWidth,height:e.imageHeight},position:{x:0,y:0}},textLine:{data:[],yOffsetValue:0},advancedStyleParams:{linear:{x0:0,x1:0},radial:{x0:0,y0:0,r0:0,x1:0,y1:0,r1:0},conic:{x:0,y:0,startAngle:0},pattern:{}}};switch(e.contentType){case"text":n.textLine.data=[e.content];break;case"multi-line-text":n.textLine.data=function(t,e,a){for(var i=[],n="",o=0,r=e.length;o<r;o++)n+=e.charAt(o),t.measureText(n).width>a&&(i.push(n.substring(0,n.length-1)),n="",o--);return i.push(n),i}(i,e.content,e.textRowMaxWidth)}var r=e.width/2,s=e.height/2,l="middle",d="center";switch(o(null==a?void 0:a.translateX)||o(null==a?void 0:a.translateY)?(n.advancedStyleParams.linear.x0=-e.width/2,n.advancedStyleParams.linear.x1=e.width/2,n.advancedStyleParams.radial.r0=0,n.advancedStyleParams.radial.r1=e.width/2):(r=null==a?void 0:a.translateX,s=null==a?void 0:a.translateY,l="top",d="left"),a.translatePlacement){case"top":r=e.width/2,s=0,l="top",n.advancedStyleParams.linear.x0=-e.width/2,n.advancedStyleParams.linear.x1=e.width/2,n.advancedStyleParams.radial.y0=n.textLine.data.length*e.lineHeight/2,n.advancedStyleParams.radial.y1=n.textLine.data.length*e.lineHeight/2,n.advancedStyleParams.conic.y=n.textLine.data.length*e.lineHeight/2;break;case"top-start":r=0,s=0,l="top",d="start",n.advancedStyleParams.linear.x0=0,n.advancedStyleParams.linear.x1=e.width,n.advancedStyleParams.radial.x0=e.width/2,n.advancedStyleParams.radial.y0=n.textLine.data.length*e.lineHeight/2,n.advancedStyleParams.radial.x1=e.width/2,n.advancedStyleParams.radial.y1=n.textLine.data.length*e.lineHeight/2,n.advancedStyleParams.conic.x=e.width/2,n.advancedStyleParams.conic.y=n.textLine.data.length*e.lineHeight/2;break;case"top-end":r=e.width,s=0,l="top",d="end",n.advancedStyleParams.linear.x0=0,n.advancedStyleParams.linear.x1=-e.width,n.advancedStyleParams.radial.x0=-e.width/2,n.advancedStyleParams.radial.y0=n.textLine.data.length*e.lineHeight/2,n.advancedStyleParams.radial.x1=-e.width/2,n.advancedStyleParams.radial.y1=n.textLine.data.length*e.lineHeight/2,n.advancedStyleParams.conic.x=-e.width/2,n.advancedStyleParams.conic.y=n.textLine.data.length*e.lineHeight/2;break;case"bottom":r=e.width/2,s=e.height,l="bottom",n.advancedStyleParams.linear.x0=-e.width/2,n.advancedStyleParams.linear.x1=e.width/2,n.advancedStyleParams.radial.y0=-n.textLine.data.length*e.lineHeight/2,n.advancedStyleParams.radial.y1=-n.textLine.data.length*e.lineHeight/2,n.advancedStyleParams.conic.x=0,n.advancedStyleParams.conic.y=-n.textLine.data.length*e.lineHeight/2;break;case"bottom-start":r=0,s=e.height,l="bottom",d="start",n.advancedStyleParams.linear.x0=0,n.advancedStyleParams.linear.x1=e.width,n.advancedStyleParams.radial.x0=e.width/2,n.advancedStyleParams.radial.y0=-n.textLine.data.length*e.lineHeight/2,n.advancedStyleParams.radial.x1=e.width/2,n.advancedStyleParams.radial.y1=-n.textLine.data.length*e.lineHeight/2,n.advancedStyleParams.conic.x=e.width/2,n.advancedStyleParams.conic.y=-n.textLine.data.length*e.lineHeight/2;break;case"bottom-end":r=e.width,s=e.height,l="bottom",d="end",n.advancedStyleParams.linear.x0=0,n.advancedStyleParams.linear.x1=-e.width,n.advancedStyleParams.radial.x0=-e.width/2,n.advancedStyleParams.radial.y0=-n.textLine.data.length*e.lineHeight/2,n.advancedStyleParams.radial.x1=-e.width/2,n.advancedStyleParams.radial.y1=-n.textLine.data.length*e.lineHeight/2,n.advancedStyleParams.conic.x=-e.width/2,n.advancedStyleParams.conic.y=-n.textLine.data.length*e.lineHeight/2;break;case"left":r=0,s=e.height/2,d="start",n.advancedStyleParams.linear.x0=0,n.advancedStyleParams.linear.x1=e.width,n.advancedStyleParams.radial.x0=e.width/2,n.advancedStyleParams.radial.x1=e.width/2,n.advancedStyleParams.conic.x=e.width/2,n.advancedStyleParams.conic.y=0;break;case"right":r=e.width,s=e.height/2,d="end",n.advancedStyleParams.linear.x0=0,n.advancedStyleParams.linear.x1=-e.width,n.advancedStyleParams.radial.x0=-e.width/2,n.advancedStyleParams.radial.x1=-e.width/2,n.advancedStyleParams.conic.x=-e.width/2,n.advancedStyleParams.conic.y=0}if(e.translateX=r,e.translateY=s,o(null==a?void 0:a.textBaseline)&&(e.textBaseline=l),o(null==a?void 0:a.textAlign)&&(e.textAlign=d),"multi-line-text"===e.contentType)switch(e.textBaseline){case"middle":n.textLine.yOffsetValue=(n.textLine.data.length-1)*e.lineHeight/2;break;case"bottom":case"alphabetic":case"ideographic":n.textLine.yOffsetValue=(n.textLine.data.length-1)*e.lineHeight;break;case"top":case"hanging":n.textLine.yOffsetValue=0}return n},h=function(){function t(e){void 0===e&&(e={}),this.parentElement=document.body,this.props=e,this.options=Object.assign({},d,e),this.changeParentElement(this.options.parent),this.canvas=t.createCanvas(this.options.width,this.options.height),this.recommendOptions=c(this.canvas,this.options,this.props),"undefined"!=typeof window&&(Object.defineProperty(window,"MutationObserver",{writable:!1,configurable:!1}),Object.defineProperty(window,"requestAnimationFrame",{writable:!1,configurable:!1}))}return t.createCanvas=function(t,e){var a,i=window.devicePixelRatio||1,n=document.createElement("canvas");return n.width=t*i,n.height=e*i,n.style.width="".concat(t,"px"),n.style.height="".concat(e,"px"),null===(a=n.getContext("2d"))||void 0===a||a.setTransform(i,0,0,i,0,0),n},t.prototype.changeOptions=function(t,e){void 0===t&&(t={}),void 0===e&&(e="overwrite"),this.initConfigData(t,e)},t.prototype.create=function(){var t,n,r,s;return e(this,void 0,void 0,(function(){var e,l,d,c;return a(this,(function(a){switch(a.label){case 0:return this.validateUnique()&&this.validateContent()?(e=o(this.watermarkDom),[4,this.draw()]):[2];case 1:if(a.sent(),l=i(this.canvas),this.clearCanvas(),this.watermarkDom=document.createElement("div"),d=document.createElement("div"),this.watermarkDom.__WATERMARK__="watermark",this.watermarkDom.__WATERMARK__INSTANCE__=this,c=this.checkParentElementType(),this.watermarkDom.style.cssText="\n z-index: ".concat(this.options.zIndex,"!important;display:block!important;visibility:visible!important;transform:none!important;scale:none!important;\n ").concat("custom"===c?"top:0!important;bottom:0!important;left:0!important;right:0!important;height:100%!important;pointer-events:none!important;position:absolute!important;":"position:relative!important;","\n "),d.style.cssText="\n display:block!important;visibility:visible!important;pointer-events:none;top:0;bottom:0;left:0;right:0;transform:none!important;scale:none!important;\n position:".concat("root"===c?"fixed":"absolute","!important;-webkit-print-color-adjust:exact!important;width:100%!important;height:100%!important;\n z-index:").concat(this.options.zIndex,"!important;background-image:url(").concat(l,")!important;background-repeat:").concat(this.options.backgroundRepeat,"!important;\n background-size:").concat(this.options.width,"px ").concat(this.options.height,"px!important;background-position:").concat(this.options.backgroundPosition,"!important;\n "),this.watermarkDom.append(d),this.parentElement.appendChild(this.watermarkDom),this.options.mutationObserve)try{this.bindMutationObserve()}catch(e){null===(n=(t=this.options).onObserveError)||void 0===n||n.call(t)}return e&&(null===(s=(r=this.options).onSuccess)||void 0===s||s.call(r)),[2]}}))}))},t.prototype.destroy=function(){var t,e,a,i,n,r,s;null===(e=(t=this.options).onBeforeDestroy)||void 0===e||e.call(t),null===(a=this.observer)||void 0===a||a.disconnect(),null===(i=this.parentObserve)||void 0===i||i.disconnect(),o(this.checkWatermarkElementRequestID)||cancelAnimationFrame(this.checkWatermarkElementRequestID),null===(n=this.watermarkDom)||void 0===n||n.remove(),null===(s=(r=this.options).onDestroyed)||void 0===s||s.call(r)},t.prototype.check=function(){document.body.contains(this.watermarkDom)||(this.destroy(),this.create())},t.prototype.initConfigData=function(e,a){var i=this;void 0===a&&(a="overwrite"),this.props=e,"overwrite"===a?this.options=Object.assign({},d,e):Object.keys(e).forEach((function(t){i.options[t]=e[t]})),this.changeParentElement(this.options.parent),this.canvas=t.createCanvas(this.options.width,this.options.height),this.recommendOptions=c(this.canvas,this.options,this.props)},t.prototype.changeParentElement=function(t){if("string"==typeof t){var e=document.querySelector(t);e&&(this.parentElement=e)}else this.parentElement=t},t.prototype.validateUnique=function(){var t=!0;return this.options.unique&&this.parentElement.childNodes.forEach((function(e){t&&Object.hasOwnProperty.call(e,"__WATERMARK__")&&(t=!1)})),t},t.prototype.validateContent=function(){switch(this.options.contentType){case"image":return Object.hasOwnProperty.call(this.options,"image");case"multi-line-text":case"rich-text":case"text":return this.options.content.length>0}return!1},t.prototype.draw=function(){var t=this,e=this.canvas.getContext("2d");if(null===e)throw new Error("get context error");return this.options.auxiliaryLine&&(e.beginPath(),e.rect(1,1,this.options.width,this.options.height),e.lineWidth=1,e.strokeStyle="#000",e.stroke(),e.closePath(),e.beginPath(),e.rect(this.options.translateX,this.options.translateY,1,1),e.lineWidth=1,e.strokeStyle="#f00",e.stroke(),e.closePath()),this.setStyle(e),e.save(),e.translate(this.options.translateX,this.options.translateY),e.rotate(this.options.rotate),new Promise((function(a){switch(t.options.contentType){case"text":t.drawText(e,a);break;case"image":t.drawImage(e,a);break;case"multi-line-text":t.drawMultiLineText(e,a);break;case"rich-text":t.drawRichText(e,a)}}))},t.prototype.setStyle=function(t){var e,a="fillStyle";"stroke"===this.options.textType&&(a="strokeStyle");var i=this.options.fontColor;if(null===(e=this.options)||void 0===e?void 0:e.advancedStyle)switch(this.options.advancedStyle.type){case"linear":i=this.createLinearGradient(t);break;case"radial":i=this.createRadialGradient(t);break;case"conic":i=this.createConicGradient(t);break;case"pattern":i=this.createPattern(t)}t[a]&&i&&(t[a]=i),this.options.textAlign&&(t.textAlign=this.options.textAlign),this.options.textBaseline&&(t.textBaseline=this.options.textBaseline),t.globalAlpha=this.options.globalAlpha,this.options.shadowStyle&&(t.shadowBlur=s(this.options.shadowStyle.shadowBlur,0),t.shadowColor=s(this.options.shadowStyle.shadowColor,"#00000000"),t.shadowOffsetX=s(this.options.shadowStyle.shadowOffsetX,0),t.shadowOffsetY=s(this.options.shadowStyle.shadowOffsetY,0)),n(this.options.extraDrawFunc)&&this.options.extraDrawFunc(t)},t.prototype.createLinearGradient=function(t){var e,a,i,n,o,r,l,d,c,h,v,p,u,m,y,f=t.createLinearGradient(s(null===(i=null===(a=null===(e=this.options.advancedStyle)||void 0===e?void 0:e.params)||void 0===a?void 0:a.linear)||void 0===i?void 0:i.x0,this.recommendOptions.advancedStyleParams.linear.x0),s(null===(r=null===(o=null===(n=this.options.advancedStyle)||void 0===n?void 0:n.params)||void 0===o?void 0:o.linear)||void 0===r?void 0:r.y0,0),s(null===(c=null===(d=null===(l=this.options.advancedStyle)||void 0===l?void 0:l.params)||void 0===d?void 0:d.linear)||void 0===c?void 0:c.x1,this.recommendOptions.advancedStyleParams.linear.x1),s(null===(p=null===(v=null===(h=this.options.advancedStyle)||void 0===h?void 0:h.params)||void 0===v?void 0:v.linear)||void 0===p?void 0:p.y1,0));return null===(y=null===(m=null===(u=this.options)||void 0===u?void 0:u.advancedStyle)||void 0===m?void 0:m.colorStops)||void 0===y||y.forEach((function(t){f.addColorStop(t.offset,t.color)})),f},t.prototype.createConicGradient=function(t){var e,a,i,n,o,r,l,d,c,h,v,p,u,m,y,f=t.createConicGradient(s(null===(n=null===(i=null===(a=null===(e=this.options)||void 0===e?void 0:e.advancedStyle)||void 0===a?void 0:a.params)||void 0===i?void 0:i.conic)||void 0===n?void 0:n.startAngle,0),s(null===(d=null===(l=null===(r=null===(o=this.options)||void 0===o?void 0:o.advancedStyle)||void 0===r?void 0:r.params)||void 0===l?void 0:l.conic)||void 0===d?void 0:d.x,this.recommendOptions.advancedStyleParams.conic.x),s(null===(p=null===(v=null===(h=null===(c=this.options)||void 0===c?void 0:c.advancedStyle)||void 0===h?void 0:h.params)||void 0===v?void 0:v.conic)||void 0===p?void 0:p.y,this.recommendOptions.advancedStyleParams.conic.y));return null===(y=null===(m=null===(u=this.options)||void 0===u?void 0:u.advancedStyle)||void 0===m?void 0:m.colorStops)||void 0===y||y.forEach((function(t){f.addColorStop(t.offset,t.color)})),f},t.prototype.createRadialGradient=function(t){var e,a,i,n,o,r,l,d,c,h,v,p,u,m,y,f,g,x,w,b,S,P,k,O,E,L,C,T=t.createRadialGradient(s(null===(n=null===(i=null===(a=null===(e=this.options)||void 0===e?void 0:e.advancedStyle)||void 0===a?void 0:a.params)||void 0===i?void 0:i.radial)||void 0===n?void 0:n.x0,this.recommendOptions.advancedStyleParams.radial.x0),s(null===(d=null===(l=null===(r=null===(o=this.options)||void 0===o?void 0:o.advancedStyle)||void 0===r?void 0:r.params)||void 0===l?void 0:l.radial)||void 0===d?void 0:d.y0,this.recommendOptions.advancedStyleParams.radial.y0),s(null===(p=null===(v=null===(h=null===(c=this.options)||void 0===c?void 0:c.advancedStyle)||void 0===h?void 0:h.params)||void 0===v?void 0:v.radial)||void 0===p?void 0:p.r0,this.recommendOptions.advancedStyleParams.radial.r0),s(null===(f=null===(y=null===(m=null===(u=this.options)||void 0===u?void 0:u.advancedStyle)||void 0===m?void 0:m.params)||void 0===y?void 0:y.radial)||void 0===f?void 0:f.x1,this.recommendOptions.advancedStyleParams.radial.x1),s(null===(b=null===(w=null===(x=null===(g=this.options)||void 0===g?void 0:g.advancedStyle)||void 0===x?void 0:x.params)||void 0===w?void 0:w.radial)||void 0===b?void 0:b.y1,this.recommendOptions.advancedStyleParams.radial.y1),s(null===(O=null===(k=null===(P=null===(S=this.options)||void 0===S?void 0:S.advancedStyle)||void 0===P?void 0:P.params)||void 0===k?void 0:k.radial)||void 0===O?void 0:O.r1,this.recommendOptions.advancedStyleParams.radial.r1));return null===(C=null===(L=null===(E=this.options)||void 0===E?void 0:E.advancedStyle)||void 0===L?void 0:L.colorStops)||void 0===C||C.forEach((function(t){T.addColorStop(t.offset,t.color)})),T},t.prototype.createPattern=function(t){var e,a,i,n,o,r,s,l;return t.createPattern(null===(n=null===(i=null===(a=null===(e=this.options)||void 0===e?void 0:e.advancedStyle)||void 0===a?void 0:a.params)||void 0===i?void 0:i.pattern)||void 0===n?void 0:n.image,(null===(l=null===(s=null===(r=null===(o=this.options)||void 0===o?void 0:o.advancedStyle)||void 0===r?void 0:r.params)||void 0===s?void 0:s.pattern)||void 0===l?void 0:l.repetition)||"")},t.prototype.setText=function(t,e){var a="fillText";"stroke"===this.options.textType&&(a="strokeText"),t[a]&&t[a](e.text,e.x,e.y,e.maxWidth)},t.prototype.drawText=function(t,e){this.setText(t,{text:this.options.content,x:0,y:0,maxWidth:this.options.textRowMaxWidth||this.options.width}),e(t.canvas)},t.prototype.drawImage=function(t,e){var a=this;l(this.options.image).then((function(i){var n=a.getImageRect(i),o=n.width,r=n.height,s=a.getDrawImagePosition(o,r);t.drawImage(i,s.x,s.y,o,r),e(t.canvas)}))},t.prototype.drawMultiLineText=function(t,e){var a=this,i=this.recommendOptions.textLine.data,n=this.recommendOptions.textLine.yOffsetValue;i.forEach((function(e,i){a.setText(t,{text:e,x:0,y:a.options.lineHeight*i-n})})),e(t.canvas)},t.prototype.drawRichText=function(t,e){var a,i,n=this,o=function(t,e){var a=r("svg",{xmlns:"http://www.w3.org/2000/svg"}),i=document.createElement("div");i.setAttribute("xmlns","http://www.w3.org/1999/xhtml"),i.style.cssText="\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n font: ".concat(t.font,";\n color: ").concat(e.fontColor,";\n"),i.innerHTML='<div class="rich-text-content">'.concat(e.content,"</div>"),document.body.appendChild(i);var n=i.querySelector(".rich-text-content"),o=n.offsetHeight,s=n.offsetWidth;document.body.removeChild(i);var l=e.richTextWidth||s||e.width,d=e.richTextHeight||o||e.height,c=r("foreignObject",{width:l.toString(),height:d.toString()});return c.appendChild(i),a.appendChild(c),{element:a,width:l,height:d}}(t,this.options);l((a=o.element,i=a.outerHTML.replace(/\n/g,"").replace(/\t/g,"").replace(/#/g,"%23"),"data:image/svg+xml;charset=utf-8,".concat(i)),o.width,o.height).then((function(a){var i=n.getDrawImagePosition(a.width,a.height);t.drawImage(a,i.x,i.y,t.canvas.width,t.canvas.height),e(t.canvas)}))},t.prototype.getImageRect=function(t){var e={width:this.options.imageWidth||0,height:this.options.imageHeight||0};switch(!0){case 0!==e.width&&0===e.height:e.height=e.width*t.height/t.width;break;case 0===e.width&&0!==e.height:e.width=e.height*t.width/t.height;break;case 0===e.width&&0===e.height:e.width=t.width,e.height=t.height}return e},t.prototype.getDrawImagePosition=function(t,e){var a,i,n={x:-t/2,y:-e/2};switch(this.options.translatePlacement){case"top":n.x=-t/2,n.y=0;break;case"top-start":n.x=0,n.y=0;break;case"top-end":n.x=-t,n.y=0;break;case"bottom":n.x=-t/2,n.y=-e;break;case"bottom-start":n.x=0,n.y=-e;break;case"bottom-end":n.x=-t,n.y=-e;break;case"left":n.x=0,n.y=-e/2;break;case"right":n.x=-t,n.y=-e/2}return!o(null===(a=this.props)||void 0===a?void 0:a.translateX)&&(n.x=0),!o(null===(i=this.props)||void 0===i?void 0:i.translateY)&&(n.y=0),n},t.prototype.checkParentElementType=function(){return["html","body"].includes(this.parentElement.tagName.toLocaleLowerCase())?"root":"custom"},t.prototype.checkWatermarkElement=function(){document.body.contains(this.watermarkDom)||(this.destroy(),this.create()),this.checkWatermarkElementRequestID=requestAnimationFrame(this.checkWatermarkElement.bind(this))},t.prototype.bindMutationObserve=function(){var t=this;this.watermarkDom&&(this.checkWatermarkElementRequestID=requestAnimationFrame(this.checkWatermarkElement.bind(this)),this.observer=new MutationObserver((function(e){e.length>0&&(t.destroy(),t.create())})),this.observer.observe(this.watermarkDom,{attributes:!0,childList:!0,subtree:!0,characterData:!0}),this.parentObserve=new MutationObserver((function(e){e.forEach((function(e){var a;((null==e?void 0:e.target)===t.watermarkDom||(null===(a=null==e?void 0:e.removedNodes)||void 0===a?void 0:a[0])===t.watermarkDom||"childList"===e.type&&e.target===t.parentElement&&e.target.lastChild!==t.watermarkDom)&&(t.destroy(),t.create())}))})),this.parentObserve.observe(this.parentElement,{attributes:!0,childList:!0,subtree:!0,characterData:!0}))},t.prototype.clearCanvas=function(){var t=this.canvas.getContext("2d");if(null===t)throw new Error("get context error");t.restore(),t.clearRect(0,0,this.canvas.width,this.canvas.height)},t}(),v=function(e){function a(t){return void 0===t&&(t={}),t.globalAlpha=.005,t.mode="blind",e.call(this,t)||this}return function(e,a){if("function"!=typeof a&&null!==a)throw new TypeError("Class extends value "+String(a)+" is not a constructor or null");function i(){this.constructor=e}t(e,a),e.prototype=null===a?Object.create(a):(i.prototype=a.prototype,new i)}(a,e),a.decode=function(t){var e=Object.assign({url:"",fillColor:"#000",compositeOperation:"color-burn",mode:"canvas"},t);if(e.url&&"canvas"===e.mode){var a=new Image;a.src=e.url,a.onload=function(){var t,o=a.width,r=a.height,s=h.createCanvas(o,r),l=s.getContext("2d");if(null===l)throw new Error("get context error");l.drawImage(a,0,0,o,r),l.globalCompositeOperation=e.compositeOperation,l.fillStyle=e.fillColor,l.fillRect(0,0,o,r);var d=i(s);e.onSuccess&&n(e.onSuccess)&&(null===(t=e.onSuccess)||void 0===t||t.call(e,d))}}},a}(h);exports.BlindWatermark=v,exports.Watermark=h;
@@ -935,3 +935,4 @@ var BlindWatermark = /** @class */ (function (_super) {
935
935
  }(Watermark));
936
936
 
937
937
  export { BlindWatermark, Watermark };
938
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":["../node_modules/tslib/tslib.es6.js","../../../src/utils/index.ts","../../../src/utils/initialization.ts","../../../src/utils/bootstrap.ts","../../../src/core/watermark.ts","../../../src/core/blind.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.push(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.push(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { CustomContentSVGType, WatermarkOptions } from '../types'\n\nexport const convertImage = (canvas: HTMLCanvasElement): string => {\n return canvas.toDataURL('image/png', 1)\n}\n\nexport const isFunction = (value: Function): boolean => {\n return typeof value === 'function'\n}\n\nexport const isUndefined = (value: any): boolean => {\n return value === undefined\n}\n\nexport const isString = (value: any): boolean => {\n return typeof value === 'string'\n}\n\nexport const createSVGElement = (tagName: string, attrs: {[key: string]: string} = {}, namespaceURI = 'http://www.w3.org/2000/svg'): Element => {\n const element = document.createElementNS(namespaceURI, tagName)\n for (const attr in attrs) {\n element.setAttribute(attr, attrs[attr])\n }\n return element\n}\n\nexport const getMultiLineData = (ctx: CanvasRenderingContext2D, text: string, maxWidth: number) => {\n const result = []\n let str = ''\n for (let i = 0, len = text.length; i < len; i++) {\n str += text.charAt(i)\n if (ctx.measureText(str).width > maxWidth) {\n result.push(str.substring(0, str.length - 1))\n str = ''\n i--\n }\n }\n result.push(str)\n return result\n}\n\nexport const createCustomContentSVG = (ctx: CanvasRenderingContext2D, options: WatermarkOptions): CustomContentSVGType => {\n const svgElement = createSVGElement('svg', {\n xmlns: 'http://www.w3.org/2000/svg'\n })\n const bodyElement = document.createElement('div')\n bodyElement.setAttribute('xmlns', 'http://www.w3.org/1999/xhtml')\n bodyElement.style.cssText = `\n text-align: center;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n font: ${ctx.font};\n color: ${options.fontColor};\n`\n bodyElement.innerHTML = `<div class=\"rich-text-content\">${options.content}</div>`\n document.body.appendChild(bodyElement)\n const { offsetHeight, offsetWidth } = <HTMLElement>bodyElement.querySelector('.rich-text-content')\n document.body.removeChild(bodyElement)\n const width = options.richTextWidth || offsetWidth || options.width\n const height = options.richTextHeight || offsetHeight || options.height\n const foreignObjectElement = createSVGElement('foreignObject', {\n width: width.toString(),\n height: height.toString()\n })\n foreignObjectElement.appendChild(bodyElement)\n svgElement.appendChild(foreignObjectElement)\n return {\n element: svgElement,\n width,\n height\n }\n}\n\nexport const convertSVGToImage = (svg: Element): string => {\n const richContent = svg.outerHTML.replace(/\\n/g, '').replace(/\\t/g, '').replace(/#/g, '%23')\n return `data:image/svg+xml;charset=utf-8,${richContent}`\n}\n\nexport const getValue = (v1: any, v2: any) => {\n if (isUndefined(v1)) {\n return v2\n } else {\n return v1\n }\n}\n\nexport const loadImage = (url: string, width: number | undefined = undefined, height: number | undefined = undefined): Promise<HTMLImageElement> => {\n const image = new Image()\n image.setAttribute('crossOrigin', 'Anonymous')\n !isUndefined(width) && (image.width = <number> width)\n !isUndefined(height) && (image.height = <number> height)\n image.src = url\n return new Promise(resolve => {\n image.onload = () => {\n resolve(image)\n }\n })\n}\n","import { AdvancedStyleParamsType, TextAlignType, TextBaselineType, WatermarkOptions } from '../types'\nimport { getMultiLineData, isUndefined } from './index'\n\nexport const initialOptions = {\n width: 300,\n height: 300,\n rotate: 45,\n auxiliaryLine: false,\n translatePlacement: 'middle',\n contentType: 'text',\n content: 'hello watermark-js-plus',\n textType: 'fill',\n imageWidth: 0,\n imageHeight: 0,\n lineHeight: 30,\n zIndex: 2147483647,\n backgroundPosition: '0 0, 0 0',\n backgroundRepeat: 'repeat',\n fontSize: '20px',\n fontFamily: 'sans-serif',\n fontStyle: '',\n fontVariant: '',\n fontColor: '#000',\n fontWeight: 'normal',\n filter: 'none',\n globalAlpha: 0.5,\n mode: 'default',\n mutationObserve: true,\n unique: true,\n parent: 'body',\n onSuccess: () => {},\n onBeforeDestroy: () => {},\n onDestroyed: () => {},\n onObserveError: () => {}\n}\n\nexport const generateRecommendOptions = (canvas: HTMLCanvasElement, options: WatermarkOptions, args: Partial<WatermarkOptions>) => {\n const ctx = canvas.getContext('2d')\n if (ctx === null) {\n throw new Error('get context error')\n }\n ctx.font = `${options.fontStyle} ${options.fontVariant} ${options.fontWeight} ${options.fontSize} ${options.fontFamily}`\n ctx.filter = options.filter\n if (options?.rotate) {\n options.rotate = (360 - options.rotate % 360) * (Math.PI / 180)\n }\n if (isUndefined(args.textRowMaxWidth)) {\n options.textRowMaxWidth = options.width\n }\n const result = {\n image: {\n rect: {\n width: options.imageWidth,\n height: options.imageHeight\n },\n position: {\n x: 0,\n y: 0\n }\n },\n textLine: {\n data: [] as string[],\n yOffsetValue: 0\n },\n advancedStyleParams: {\n linear: {\n x0: 0,\n x1: 0\n },\n radial: {\n x0: 0,\n y0: 0,\n r0: 0,\n x1: 0,\n y1: 0,\n r1: 0\n },\n conic: {\n x: 0,\n y: 0,\n startAngle: 0\n },\n pattern: {}\n } as AdvancedStyleParamsType\n }\n switch (options.contentType) {\n case 'text':\n result.textLine.data = [options.content]\n break\n // case 'image':\n // break\n case 'multi-line-text':\n result.textLine.data = getMultiLineData(ctx, options.content, <number> options.textRowMaxWidth)\n break\n // case 'rich-text':\n // break\n }\n let translateX: number = options.width / 2\n let translateY: number = options.height / 2\n let textBaseline: TextBaselineType = 'middle'\n let textAlign: TextAlignType = 'center'\n\n if (!isUndefined(args?.translateX) && !isUndefined(args?.translateY)) {\n translateX = <number> args?.translateX\n translateY = <number> args?.translateY\n textBaseline = 'top'\n textAlign = 'left'\n } else {\n // default middle\n // translateX = options.width / 2\n // translateY = options.height / 2\n // TextBaselineType = 'middle'\n // textAlign = 'center'\n result.advancedStyleParams.linear.x0 = -options.width / 2\n result.advancedStyleParams.linear.x1 = options.width / 2\n // result.advancedStyleParams.radial.x0 = 0\n // result.advancedStyleParams.radial.y0 = 0\n result.advancedStyleParams.radial.r0 = 0\n // result.advancedStyleParams.radial.x1 = 0\n // result.advancedStyleParams.radial.y1 = 0\n result.advancedStyleParams.radial.r1 = options.width / 2\n // result.advancedStyleParams.conic.x = 0\n // result.advancedStyleParams.conic.y = 0\n }\n switch (args.translatePlacement) {\n case 'top':\n translateX = options.width / 2\n translateY = 0\n textBaseline = 'top'\n // textAlign = 'center'\n result.advancedStyleParams.linear.x0 = -options.width / 2\n result.advancedStyleParams.linear.x1 = options.width / 2\n // result.advancedStyleParams.radial.x0 = 0\n result.advancedStyleParams.radial.y0 = result.textLine.data.length * options.lineHeight / 2\n // result.advancedStyleParams.radial.r0 = 0\n // result.advancedStyleParams.radial.x1 = 0\n // result.advancedStyleParams.radial.y1 = 0\n result.advancedStyleParams.radial.y1 = result.textLine.data.length * options.lineHeight / 2\n // result.advancedStyleParams.radial.r1 = options.width / 2\n // result.advancedStyleParams.conic.x = 0\n result.advancedStyleParams.conic.y = result.textLine.data.length * options.lineHeight / 2\n break\n case 'top-start':\n translateX = 0\n translateY = 0\n textBaseline = 'top'\n textAlign = 'start'\n result.advancedStyleParams.linear.x0 = 0\n result.advancedStyleParams.linear.x1 = options.width\n result.advancedStyleParams.radial.x0 = options.width / 2\n result.advancedStyleParams.radial.y0 = result.textLine.data.length * options.lineHeight / 2\n // result.advancedStyleParams.radial.r0 = 0\n result.advancedStyleParams.radial.x1 = options.width / 2\n result.advancedStyleParams.radial.y1 = result.textLine.data.length * options.lineHeight / 2\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = options.width / 2\n result.advancedStyleParams.conic.y = result.textLine.data.length * options.lineHeight / 2\n break\n case 'top-end':\n translateX = options.width\n translateY = 0\n textBaseline = 'top'\n textAlign = 'end'\n result.advancedStyleParams.linear.x0 = 0\n result.advancedStyleParams.linear.x1 = -options.width\n result.advancedStyleParams.radial.x0 = -options.width / 2\n result.advancedStyleParams.radial.y0 = result.textLine.data.length * options.lineHeight / 2\n // result.advancedStyleParams.radial.r0 = 0\n result.advancedStyleParams.radial.x1 = -options.width / 2\n result.advancedStyleParams.radial.y1 = result.textLine.data.length * options.lineHeight / 2\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = -options.width / 2\n result.advancedStyleParams.conic.y = result.textLine.data.length * options.lineHeight / 2\n break\n case 'bottom':\n translateX = options.width / 2\n translateY = options.height\n textBaseline = 'bottom'\n // textAlign = 'center'\n result.advancedStyleParams.linear.x0 = -options.width / 2\n result.advancedStyleParams.linear.x1 = options.width / 2\n // result.advancedStyleParams.radial.x0 = 0\n result.advancedStyleParams.radial.y0 = -result.textLine.data.length * options.lineHeight / 2\n // result.advancedStyleParams.radial.r0 = 0\n // result.advancedStyleParams.radial.x1 = 0\n result.advancedStyleParams.radial.y1 = -result.textLine.data.length * options.lineHeight / 2\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = 0\n result.advancedStyleParams.conic.y = -result.textLine.data.length * options.lineHeight / 2\n break\n case 'bottom-start':\n translateX = 0\n translateY = options.height\n textBaseline = 'bottom'\n textAlign = 'start'\n result.advancedStyleParams.linear.x0 = 0\n result.advancedStyleParams.linear.x1 = options.width\n result.advancedStyleParams.radial.x0 = options.width / 2\n result.advancedStyleParams.radial.y0 = -result.textLine.data.length * options.lineHeight / 2\n // result.advancedStyleParams.radial.r0 = 0\n result.advancedStyleParams.radial.x1 = options.width / 2\n result.advancedStyleParams.radial.y1 = -result.textLine.data.length * options.lineHeight / 2\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = options.width / 2\n result.advancedStyleParams.conic.y = -result.textLine.data.length * options.lineHeight / 2\n break\n case 'bottom-end':\n translateX = options.width\n translateY = options.height\n textBaseline = 'bottom'\n textAlign = 'end'\n result.advancedStyleParams.linear.x0 = 0\n result.advancedStyleParams.linear.x1 = -options.width\n result.advancedStyleParams.radial.x0 = -options.width / 2\n result.advancedStyleParams.radial.y0 = -result.textLine.data.length * options.lineHeight / 2\n // result.advancedStyleParams.radial.r0 = 0\n result.advancedStyleParams.radial.x1 = -options.width / 2\n result.advancedStyleParams.radial.y1 = -result.textLine.data.length * options.lineHeight / 2\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = -options.width / 2\n result.advancedStyleParams.conic.y = -result.textLine.data.length * options.lineHeight / 2\n break\n case 'left':\n translateX = 0\n translateY = options.height / 2\n // TextBaselineType = 'middle'\n textAlign = 'start'\n result.advancedStyleParams.linear.x0 = 0\n result.advancedStyleParams.linear.x1 = options.width\n result.advancedStyleParams.radial.x0 = options.width / 2\n // result.advancedStyleParams.radial.y0 = 0\n // result.advancedStyleParams.radial.r0 = 0\n result.advancedStyleParams.radial.x1 = options.width / 2\n // result.advancedStyleParams.radial.y1 = 0\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = options.width / 2\n result.advancedStyleParams.conic.y = 0\n break\n case 'right':\n translateX = options.width\n translateY = options.height / 2\n // TextBaselineType = 'middle'\n textAlign = 'end'\n result.advancedStyleParams.linear.x0 = 0\n result.advancedStyleParams.linear.x1 = -options.width\n result.advancedStyleParams.radial.x0 = -options.width / 2\n // result.advancedStyleParams.radial.y0 = 0\n // result.advancedStyleParams.radial.r0 = 0\n result.advancedStyleParams.radial.x1 = -options.width / 2\n // result.advancedStyleParams.radial.y1 = 0\n // result.advancedStyleParams.radial.r1 = options.width / 2\n result.advancedStyleParams.conic.x = -options.width / 2\n result.advancedStyleParams.conic.y = 0\n break\n }\n options.translateX = translateX\n options.translateY = translateY\n isUndefined(args?.textBaseline) && (options.textBaseline = textBaseline)\n isUndefined(args?.textAlign) && (options.textAlign = textAlign)\n\n if (options.contentType === 'multi-line-text') {\n switch (options.textBaseline) {\n case 'middle':\n result.textLine.yOffsetValue = (result.textLine.data.length - 1) * options.lineHeight / 2\n break\n case 'bottom':\n case 'alphabetic':\n case 'ideographic':\n result.textLine.yOffsetValue = (result.textLine.data.length - 1) * options.lineHeight\n break\n case 'top':\n case 'hanging':\n result.textLine.yOffsetValue = 0\n break\n }\n }\n\n return result\n}\n","export default () => {\n if (typeof window !== 'undefined') {\n Object.defineProperty(window, 'MutationObserver', {\n writable: false,\n configurable: false\n })\n Object.defineProperty(window, 'requestAnimationFrame', {\n writable: false,\n configurable: false\n })\n }\n}\n","import {\n convertImage,\n convertSVGToImage,\n createCustomContentSVG,\n isFunction,\n isUndefined,\n getValue,\n loadImage\n} from '../utils'\nimport {\n ChangeOptionsMode,\n WatermarkDom,\n WatermarkOptions\n} from '../types'\nimport { generateRecommendOptions, initialOptions } from '../utils/initialization'\nimport bootstrap from '../utils/bootstrap'\n\n/**\n * Watermark class\n */\nclass Watermark {\n private options: WatermarkOptions\n private parentElement: Element = document.body\n private observer?: MutationObserver\n private parentObserve?: MutationObserver\n private watermarkDom?: WatermarkDom\n private props?: Partial<WatermarkOptions>\n private canvas: HTMLCanvasElement\n private recommendOptions\n private checkWatermarkElementRequestID?: number\n\n /**\n * Watermark constructor\n * @param args - watermark args\n */\n constructor (args: Partial<WatermarkOptions> = {}) {\n this.props = args\n this.options = Object.assign({}, initialOptions, args)\n this.changeParentElement(this.options.parent)\n this.canvas = Watermark.createCanvas(this.options.width, this.options.height)\n this.recommendOptions = generateRecommendOptions(this.canvas, this.options, this.props)\n bootstrap()\n }\n\n /**\n * Create an HD canvas.\n * @param width - width of canvas\n * @param height - height of canvas\n */\n static createCanvas (width: number, height: number): HTMLCanvasElement {\n const ratio = window.devicePixelRatio || 1\n const canvas = document.createElement('canvas')\n canvas.width = width * ratio // actual rendered pixel\n canvas.height = height * ratio // actual rendered pixel\n canvas.style.width = `${width}px` // control display size\n canvas.style.height = `${height}px` // control display size\n canvas.getContext('2d')?.setTransform(ratio, 0, 0, ratio, 0, 0)\n return canvas\n }\n\n changeOptions (args: Partial<WatermarkOptions> = {}, mode: ChangeOptionsMode = 'overwrite') {\n this.initConfigData(args, mode)\n }\n\n /**\n * Creating a watermark.\n */\n async create () {\n if (!this.validateUnique()) {\n return\n }\n\n if (!this.validateContent()) {\n return\n }\n const firstDraw = isUndefined(this.watermarkDom)\n\n await this.draw()\n const image = convertImage(this.canvas)\n this.clearCanvas()\n this.watermarkDom = document.createElement('div')\n const watermarkInnerDom = document.createElement('div')\n this.watermarkDom.__WATERMARK__ = 'watermark'\n this.watermarkDom.__WATERMARK__INSTANCE__ = this\n const parentElementType = this.checkParentElementType()\n this.watermarkDom.style.cssText = `\n z-index: ${this.options.zIndex}!important;display:block!important;visibility:visible!important;transform:none!important;scale:none!important;\n ${parentElementType === 'custom' ? 'top:0!important;bottom:0!important;left:0!important;right:0!important;height:100%!important;pointer-events:none!important;position:absolute!important;' : 'position:relative!important;'}\n `\n watermarkInnerDom.style.cssText = `\n display:block!important;visibility:visible!important;pointer-events:none;top:0;bottom:0;left:0;right:0;transform:none!important;scale:none!important;\n position:${parentElementType === 'root' ? 'fixed' : 'absolute'}!important;-webkit-print-color-adjust:exact!important;width:100%!important;height:100%!important;\n z-index:${this.options.zIndex}!important;background-image:url(${image})!important;background-repeat:${this.options.backgroundRepeat}!important;\n background-size:${this.options.width}px ${this.options.height}px!important;background-position:${this.options.backgroundPosition}!important;\n `\n this.watermarkDom.append(watermarkInnerDom)\n this.parentElement.appendChild(this.watermarkDom)\n\n if (this.options.mutationObserve) {\n try {\n this.bindMutationObserve()\n } catch (e) {\n this.options.onObserveError?.()\n }\n }\n firstDraw && this.options.onSuccess?.()\n }\n\n /**\n * Delete this watermark.\n */\n destroy () {\n this.options.onBeforeDestroy?.()\n this.observer?.disconnect()\n this.parentObserve?.disconnect()\n if (!isUndefined(this.checkWatermarkElementRequestID)) {\n cancelAnimationFrame(<number> this.checkWatermarkElementRequestID)\n }\n this.watermarkDom?.remove()\n this.options.onDestroyed?.()\n }\n\n check () {\n if (!document.body.contains(<Node> this.watermarkDom)) {\n this.destroy()\n this.create()\n }\n }\n\n private initConfigData (args: Partial<WatermarkOptions>, mode: ChangeOptionsMode = 'overwrite') {\n this.props = args\n if (mode === 'overwrite') {\n this.options = Object.assign({}, initialOptions, args)\n } else {\n Object.keys(args).forEach(key => {\n this.options[key as keyof WatermarkOptions] = <never> args[key as keyof WatermarkOptions]\n })\n }\n this.changeParentElement(this.options.parent)\n this.canvas = Watermark.createCanvas(this.options.width, this.options.height)\n this.recommendOptions = generateRecommendOptions(this.canvas, this.options, this.props)\n // document.body?.appendChild(this.canvas)\n }\n\n private changeParentElement (parent: Element | string) {\n if (typeof parent === 'string') {\n const parentElement = document.querySelector(parent)\n parentElement && (this.parentElement = parentElement)\n } else {\n this.parentElement = parent\n }\n }\n\n private validateUnique (): boolean {\n let result = true\n if (this.options.unique) {\n this.parentElement.childNodes.forEach(node => {\n if (!result) {\n return\n }\n if (Object.hasOwnProperty.call(node, '__WATERMARK__')) {\n result = false\n // throw new Error('duplicate watermark error')\n }\n })\n }\n return result\n }\n\n private validateContent (): boolean {\n switch (this.options.contentType) {\n case 'image':\n return Object.hasOwnProperty.call(this.options, 'image')\n case 'multi-line-text':\n case 'rich-text':\n case 'text':\n return this.options.content.length > 0\n }\n return false\n }\n\n private draw (): Promise<HTMLCanvasElement> {\n const ctx = this.canvas.getContext('2d')\n if (ctx === null) {\n throw new Error('get context error')\n }\n\n if (this.options.auxiliaryLine) {\n ctx.beginPath()\n ctx.rect(1, 1, this.options.width, this.options.height)\n ctx.lineWidth = 1\n ctx.strokeStyle = '#000'\n ctx.stroke()\n ctx.closePath()\n\n ctx.beginPath()\n ctx.rect(this.options.translateX as number, this.options.translateY as number, 1, 1)\n ctx.lineWidth = 1\n ctx.strokeStyle = '#f00'\n ctx.stroke()\n ctx.closePath()\n }\n\n this.setStyle(ctx)\n ctx.save()\n ctx.translate(this.options.translateX as number, this.options.translateY as number)\n ctx.rotate(this.options.rotate)\n return new Promise((resolve) => {\n switch (this.options.contentType) {\n case 'text':\n this.drawText(ctx, resolve)\n break\n case 'image':\n this.drawImage(ctx, resolve)\n break\n case 'multi-line-text':\n this.drawMultiLineText(ctx, resolve)\n break\n case 'rich-text':\n this.drawRichText(ctx, resolve)\n break\n }\n })\n }\n\n private setStyle (ctx: CanvasRenderingContext2D) {\n let propName: 'fillStyle' | 'strokeStyle' = 'fillStyle'\n if (this.options.textType === 'stroke') {\n propName = 'strokeStyle'\n }\n let style: string | CanvasGradient | CanvasPattern | null = this.options.fontColor\n if (this.options?.advancedStyle) {\n switch (this.options.advancedStyle.type) {\n case 'linear':\n style = this.createLinearGradient(ctx)\n break\n case 'radial':\n style = this.createRadialGradient(ctx)\n break\n case 'conic':\n style = this.createConicGradient(ctx)\n break\n case 'pattern':\n style = this.createPattern(ctx)\n break\n }\n }\n ctx[propName] && style && (ctx[propName] = style)\n\n this.options.textAlign && (ctx.textAlign = this.options.textAlign)\n this.options.textBaseline && (ctx.textBaseline = this.options.textBaseline)\n ctx.globalAlpha = this.options.globalAlpha\n if (this.options.shadowStyle) {\n ctx.shadowBlur = getValue(this.options.shadowStyle.shadowBlur, 0)\n ctx.shadowColor = getValue(this.options.shadowStyle.shadowColor, '#00000000')\n ctx.shadowOffsetX = getValue(this.options.shadowStyle.shadowOffsetX, 0)\n ctx.shadowOffsetY = getValue(this.options.shadowStyle.shadowOffsetY, 0)\n }\n if (isFunction(<Function> this.options.extraDrawFunc)) {\n (<Function> this.options.extraDrawFunc)(ctx)\n }\n }\n\n private createLinearGradient (ctx: CanvasRenderingContext2D): CanvasGradient {\n const gradient = ctx.createLinearGradient(\n <number> getValue(this.options.advancedStyle?.params?.linear?.x0, this.recommendOptions.advancedStyleParams.linear.x0),\n <number> getValue(this.options.advancedStyle?.params?.linear?.y0, 0),\n <number> getValue(this.options.advancedStyle?.params?.linear?.x1, this.recommendOptions.advancedStyleParams.linear.x1),\n <number> getValue(this.options.advancedStyle?.params?.linear?.y1, 0)\n )\n this.options?.advancedStyle?.colorStops?.forEach(item => {\n gradient.addColorStop(item.offset, item.color)\n })\n return gradient\n }\n\n private createConicGradient (ctx: CanvasRenderingContext2D): CanvasGradient {\n const gradient = ctx.createConicGradient(\n <number> getValue(this.options?.advancedStyle?.params?.conic?.startAngle, 0),\n <number> getValue(this.options?.advancedStyle?.params?.conic?.x, this.recommendOptions.advancedStyleParams.conic.x),\n <number> getValue(this.options?.advancedStyle?.params?.conic?.y, this.recommendOptions.advancedStyleParams.conic.y)\n )\n this.options?.advancedStyle?.colorStops?.forEach(item => {\n gradient.addColorStop(item.offset, item.color)\n })\n return gradient\n }\n\n private createRadialGradient (ctx: CanvasRenderingContext2D): CanvasGradient {\n const gradient = ctx.createRadialGradient(\n <number> getValue(this.options?.advancedStyle?.params?.radial?.x0, this.recommendOptions.advancedStyleParams.radial.x0),\n <number> getValue(this.options?.advancedStyle?.params?.radial?.y0, this.recommendOptions.advancedStyleParams.radial.y0),\n <number> getValue(this.options?.advancedStyle?.params?.radial?.r0, this.recommendOptions.advancedStyleParams.radial.r0),\n <number> getValue(this.options?.advancedStyle?.params?.radial?.x1, this.recommendOptions.advancedStyleParams.radial.x1),\n <number> getValue(this.options?.advancedStyle?.params?.radial?.y1, this.recommendOptions.advancedStyleParams.radial.y1),\n <number> getValue(this.options?.advancedStyle?.params?.radial?.r1, this.recommendOptions.advancedStyleParams.radial.r1)\n )\n this.options?.advancedStyle?.colorStops?.forEach(item => {\n gradient.addColorStop(item.offset, item.color)\n })\n return gradient\n }\n\n private createPattern (ctx: CanvasRenderingContext2D): CanvasPattern | null {\n return ctx.createPattern(\n <HTMLImageElement | SVGImageElement | HTMLVideoElement | HTMLCanvasElement | ImageBitmap | OffscreenCanvas> this.options?.advancedStyle?.params?.pattern?.image,\n this.options?.advancedStyle?.params?.pattern?.repetition || ''\n )\n }\n\n private setText (ctx: CanvasRenderingContext2D, params: { text: string; x: number; y: number; maxWidth?: number }) {\n let methodName: 'fillText' | 'strokeText' = 'fillText'\n if (this.options.textType === 'stroke') {\n methodName = 'strokeText'\n }\n ctx[methodName] && ctx[methodName](params.text, params.x, params.y, params.maxWidth)\n }\n\n private drawText (ctx: CanvasRenderingContext2D, resolve: Function) {\n this.setText(ctx, {\n text: this.options.content,\n x: 0,\n y: 0,\n maxWidth: this.options.textRowMaxWidth || this.options.width\n })\n resolve(ctx.canvas)\n }\n\n private drawImage (ctx: CanvasRenderingContext2D, resolve: Function) {\n loadImage(<string> this.options.image).then(image => {\n const { width: imageWidth, height: imageHeight } = this.getImageRect(image)\n const imagePosition = this.getDrawImagePosition(imageWidth, imageHeight)\n ctx.drawImage(\n image,\n imagePosition.x,\n imagePosition.y,\n imageWidth,\n imageHeight\n )\n resolve(ctx.canvas)\n })\n }\n\n private drawMultiLineText (ctx: CanvasRenderingContext2D, resolve: Function) {\n // image.width = this.options.width\n // image.height = this.options.height\n // const element = createCustomContentSvg(context, this.options)\n // image.src = convertSVGToImage(element)\n // image.onload = () => {\n // context.translate(this.options.width / 2, this.options.height / 2)\n // context.rotate(this.options.rotate)\n // context.drawImage(\n // image,\n // -this.options.width / 2,\n // -this.options.height / 2,\n // context.canvas.width,\n // context.canvas.height\n // )\n // resolve(canvas)\n // }\n const lines = this.recommendOptions.textLine.data\n const yOffsetValue = this.recommendOptions.textLine.yOffsetValue\n lines.forEach((text, index) => {\n this.setText(ctx, { text, x: 0, y: this.options.lineHeight * index - yOffsetValue })\n })\n resolve(ctx.canvas)\n }\n\n private drawRichText (ctx: CanvasRenderingContext2D, resolve: Function) {\n const obj = createCustomContentSVG(ctx, this.options)\n loadImage(convertSVGToImage(obj.element), obj.width, obj.height).then(image => {\n const imagePosition = this.getDrawImagePosition(image.width, image.height)\n ctx.drawImage(\n image,\n imagePosition.x,\n imagePosition.y,\n ctx.canvas.width,\n ctx.canvas.height\n )\n resolve(ctx.canvas)\n })\n }\n\n private getImageRect (image: HTMLImageElement) {\n const rect = { width: this.options.imageWidth || 0, height: this.options.imageHeight || 0 }\n switch (true) {\n case rect.width !== 0 && rect.height === 0:\n rect.height = rect.width * image.height / image.width\n break\n case rect.width === 0 && rect.height !== 0:\n rect.width = rect.height * image.width / image.height\n break\n case rect.width === 0 && rect.height === 0:\n rect.width = image.width\n rect.height = image.height\n break\n }\n return rect\n }\n\n private getDrawImagePosition (imageWidth: number, imageHeight: number) {\n const result = {\n x: -imageWidth / 2,\n y: -imageHeight / 2\n }\n switch (this.options.translatePlacement) {\n case 'top':\n result.x = -imageWidth / 2\n result.y = 0\n break\n case 'top-start':\n result.x = 0\n result.y = 0\n break\n case 'top-end':\n result.x = -imageWidth\n result.y = 0\n break\n case 'bottom':\n result.x = -imageWidth / 2\n result.y = -imageHeight\n break\n case 'bottom-start':\n result.x = 0\n result.y = -imageHeight\n break\n case 'bottom-end':\n result.x = -imageWidth\n result.y = -imageHeight\n break\n case 'left':\n result.x = 0\n result.y = -imageHeight / 2\n break\n case 'right':\n result.x = -imageWidth\n result.y = -imageHeight / 2\n break\n }\n !isUndefined(this.props?.translateX) && (result.x = 0)\n !isUndefined(this.props?.translateY) && (result.y = 0)\n return result\n }\n\n private checkParentElementType () {\n if (['html', 'body'].includes(this.parentElement.tagName.toLocaleLowerCase())) {\n return 'root'\n }\n return 'custom'\n }\n\n private checkWatermarkElement () {\n if (!document.body.contains(<Node> this.watermarkDom)) {\n this.destroy()\n this.create()\n }\n this.checkWatermarkElementRequestID = requestAnimationFrame(this.checkWatermarkElement.bind(this))\n }\n\n private bindMutationObserve (): void {\n if (!this.watermarkDom) {\n return\n }\n this.checkWatermarkElementRequestID = requestAnimationFrame(this.checkWatermarkElement.bind(this))\n this.observer = new MutationObserver((mutationsList: MutationRecord[]) => {\n if (mutationsList.length > 0) {\n this.destroy()\n this.create()\n }\n })\n this.observer.observe(this.watermarkDom, {\n attributes: true, // 属性的变动\n childList: true, // 子节点的变动(指新增,删除或者更改)\n subtree: true, // 布尔值,表示是否将该观察器应用于该节点的所有后代节点。\n characterData: true // 节点内容或节点文本的变动。\n })\n this.parentObserve = new MutationObserver((mutationsList: MutationRecord[]) => {\n mutationsList.forEach(item => {\n if (\n item?.target === this.watermarkDom ||\n item?.removedNodes?.[0] === this.watermarkDom ||\n (item.type === 'childList' && item.target === this.parentElement && item.target.lastChild !== this.watermarkDom)\n ) {\n this.destroy()\n this.create()\n }\n })\n })\n this.parentObserve.observe(this.parentElement, {\n attributes: true, // 属性的变动\n childList: true, // 子节点的变动(指新增,删除或者更改)\n subtree: true, // 布尔值,表示是否将该观察器应用于该节点的所有后代节点。\n characterData: true // 节点内容或节点文本的变动。\n })\n }\n\n private clearCanvas () {\n const ctx = this.canvas.getContext('2d')\n if (ctx === null) {\n throw new Error('get context error')\n }\n ctx.restore()\n ctx.clearRect(0, 0, this.canvas.width, this.canvas.height)\n // this.canvas.width = this.options.w\n }\n}\n\nexport {\n Watermark\n}\n","import { DecodeBlindWatermarkOptions, WatermarkOptions } from '../types'\nimport { convertImage, isFunction } from '../utils'\nimport { Watermark } from './watermark'\n\n/**\n * BlindWatermark class\n */\nclass BlindWatermark extends Watermark {\n /**\n * BlindWatermark constructor\n * @param props - blind watermark options\n */\n constructor (props: Partial<WatermarkOptions> = {}) {\n props.globalAlpha = 0.005\n props.mode = 'blind'\n super(props)\n }\n\n /**\n * Decode blind watermark.\n * @param props - decode options\n */\n static decode (props: Partial<DecodeBlindWatermarkOptions>) {\n const options = Object.assign({\n url: '',\n fillColor: '#000',\n compositeOperation: 'color-burn',\n mode: 'canvas'\n }, props)\n if (!options.url) {\n return\n }\n if (options.mode === 'canvas') {\n const img = new Image()\n img.src = options.url\n img.onload = () => {\n const { width, height } = img\n const canvas = Watermark.createCanvas(width, height)\n const ctx = canvas.getContext('2d')\n if (ctx === null) {\n throw new Error('get context error')\n }\n ctx.drawImage(img, 0, 0, width, height)\n ctx.globalCompositeOperation = options.compositeOperation as any\n ctx.fillStyle = options.fillColor\n ctx.fillRect(0, 0, width, height)\n const resultImage = convertImage(canvas)\n if (options.onSuccess && isFunction(options.onSuccess)) {\n options.onSuccess?.(resultImage)\n }\n }\n }\n }\n}\n\nexport {\n BlindWatermark\n}\n"],"names":[],"mappings":"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","x_google_ignoreList":[0]}
@@ -944,3 +944,4 @@
944
944
  exports.Watermark = Watermark;
945
945
 
946
946
  }));
947
+ //# sourceMappingURL=index.umd.js.map