1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- "use strict";
- /**
- * @fileoverview image
- * @author dengfuping_develop@163.com
- */
- Object.defineProperty(exports, "__esModule", { value: true });
- var tslib_1 = require("tslib");
- var util_1 = require("@antv/util");
- var constant_1 = require("../constant");
- var base_1 = require("./base");
- var Image = /** @class */ (function (_super) {
- tslib_1.__extends(Image, _super);
- function Image() {
- var _this = _super !== null && _super.apply(this, arguments) || this;
- _this.type = 'image';
- _this.canFill = false;
- _this.canStroke = false;
- return _this;
- }
- Image.prototype.getDefaultAttrs = function () {
- var attrs = _super.prototype.getDefaultAttrs.call(this);
- return tslib_1.__assign(tslib_1.__assign({}, attrs), { x: 0, y: 0, width: 0, height: 0 });
- };
- Image.prototype.createPath = function (context, targetAttrs) {
- var _this = this;
- var attrs = this.attr();
- var el = this.get('el');
- util_1.each(targetAttrs || attrs, function (value, attr) {
- if (attr === 'img') {
- _this._setImage(attrs.img);
- }
- else if (constant_1.SVG_ATTR_MAP[attr]) {
- el.setAttribute(constant_1.SVG_ATTR_MAP[attr], value);
- }
- });
- };
- Image.prototype.setAttr = function (name, value) {
- this.attrs[name] = value;
- if (name === 'img') {
- this._setImage(value);
- }
- };
- Image.prototype._setImage = function (img) {
- var attrs = this.attr();
- var el = this.get('el');
- if (util_1.isString(img)) {
- el.setAttribute('href', img);
- }
- else if (img instanceof window.Image) {
- if (!attrs.width) {
- el.setAttribute('width', img.width);
- this.attr('width', img.width);
- }
- if (!attrs.height) {
- el.setAttribute('height', img.height);
- this.attr('height', img.height);
- }
- el.setAttribute('href', img.src);
- }
- else if (img instanceof HTMLElement && util_1.isString(img.nodeName) && img.nodeName.toUpperCase() === 'CANVAS') {
- // @ts-ignore
- el.setAttribute('href', img.toDataURL());
- }
- else if (img instanceof ImageData) {
- var canvas = document.createElement('canvas');
- canvas.setAttribute('width', "" + img.width);
- canvas.setAttribute('height', "" + img.height);
- canvas.getContext('2d').putImageData(img, 0, 0);
- if (!attrs.width) {
- el.setAttribute('width', "" + img.width);
- this.attr('width', img.width);
- }
- if (!attrs.height) {
- el.setAttribute('height', "" + img.height);
- this.attr('height', img.height);
- }
- el.setAttribute('href', canvas.toDataURL());
- }
- };
- return Image;
- }(base_1.default));
- exports.default = Image;
- //# sourceMappingURL=image.js.map
|