UNPKG

@antv/s2

Version:

effective spreadsheet render core lib

34 lines 1.39 kB
import { __awaiter } from "tslib"; import { Image as GImage } from '@antv/g'; import { CellClipBox, } from '../common/interface'; import { asyncDrawImage, calculateImageSize, } from '../utils/cell/customRenderer'; import { BaseRenderer } from './BaseRenderer'; // 图片渲染器 export class ImageRenderer extends BaseRenderer { prepare(renderer, cell) { return __awaiter(this, void 0, void 0, function* () { const text = yield this.prepareText(renderer, cell); return asyncDrawImage({ src: text, fallback: renderer.fallback, timeout: renderer.timeout, mediaCache: BaseRenderer.mediaCache, }); }); } generateConfig(renderer, cell, element) { const { y, height, width } = cell.getBBoxByType(CellClipBox.CONTENT_BOX); const { width: calcWidth, height: calcHeight } = calculateImageSize(width, height, element.naturalWidth, element.naturalHeight); const { x: calcX } = cell.getContentPosition({ contentWidth: calcWidth, }); return { style: Object.assign({ x: calcX, y, src: element, width: calcWidth, height: calcHeight }, renderer.config), }; } render(cell, config) { cell.appendChild(new GImage(config)); } destroy() { } } //# sourceMappingURL=ImageRenderer.js.map