| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- /**
- * 获取设备像素比
- */
- export function getPixelRatio() {
- return typeof window === 'object' ? window === null || window === void 0 ? void 0 : window.devicePixelRatio : 2;
- }
- /**
- * 初始化 cavnas,设置宽高等
- */
- export function initCanvas(width, height) {
- if (height === void 0) { height = width; }
- var canvas = document.createElement('canvas');
- var pixelRatio = getPixelRatio();
- // 画布尺寸
- canvas.width = width * pixelRatio;
- canvas.height = height * pixelRatio;
- // 显示尺寸
- canvas.style.width = "".concat(width, "px");
- canvas.style.height = "".concat(height, "px");
- var ctx = canvas.getContext('2d');
- ctx.scale(pixelRatio, pixelRatio);
- return canvas;
- }
- /**
- * 绘制背景
- *
- * @param context
- * @param cfg
- * @param width
- * @param height
- */
- export function drawBackground(context, cfg, width, height) {
- if (height === void 0) { height = width; }
- var backgroundColor = cfg.backgroundColor, opacity = cfg.opacity;
- context.globalAlpha = opacity;
- context.fillStyle = backgroundColor;
- context.beginPath();
- context.fillRect(0, 0, width, height);
- context.closePath();
- }
- /**
- * 计算贴图单元大小
- *
- * @param size 元素大小
- * @param padding 圆点间隔
- * @param isStagger 是否交错
- * @reutrn 返回贴图单元大小
- */
- export function getUnitPatternSize(size, padding, isStagger) {
- // 如果交错, unitSize 放大两倍
- var unitSize = size + padding;
- return isStagger ? unitSize * 2 : unitSize;
- }
- /**
- * 计算有交错情况的元素坐标
- *
- * @param unitSize 贴图单元大小
- * @param isStagger 是否交错
- * @reutrn 元素中心坐标 x,y 数组集合
- */
- export function getSymbolsPosition(unitSize, isStagger) {
- // 如果交错, 交错绘制 dot
- var symbolsPos = isStagger
- ? [
- [unitSize * (1 / 4), unitSize * (1 / 4)],
- [unitSize * (3 / 4), unitSize * (3 / 4)],
- ]
- : [[unitSize * (1 / 2), unitSize * (1 / 2)]];
- return symbolsPos;
- }
- /**
- * 给整个 pattern贴图 做变换, 目前支持旋转
- *
- * @param pattern 整个贴图
- * @param dpr 设备像素比
- * @param rotation 旋转角度
- */
- export function transformMatrix(dpr, rotation) {
- var radian = (rotation * Math.PI) / 180;
- var matrix = {
- a: Math.cos(radian) * (1 / dpr),
- b: Math.sin(radian) * (1 / dpr),
- c: -Math.sin(radian) * (1 / dpr),
- d: Math.cos(radian) * (1 / dpr),
- e: 0,
- f: 0,
- };
- return matrix;
- }
- //# sourceMappingURL=util.js.map
|