Files
NapCatQQ/.pnpm-store/v3/files/34/0b32d7306efb92aa5d459a7e80096a9d030c83f01abeb7cc63a2dc7d99385c25398a5ce9b3cdf2a5453a1000fd2754a578a3fbba36006a7e7abd4745024fab
T
TanTan e311ca3275
Build NapCat Artifacts / Type Check & Test (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:25:58 +08:00

41 lines
859 B
Plaintext

/**
* @file path倾斜变换
* @author mengke01(kekee000@gmail.com)
*/
/**
* path倾斜变换
*
* @param {Object} contour 坐标点
* @param {number} angle 角度
* @param {number} offsetX x偏移
* @param {number} offsetY y偏移
*
* @return {Object} contour 坐标点
*/
export default function pathSkew(contour, angle, offsetX, offsetY) {
angle = angle === undefined ? 0 : angle;
const x = offsetX || 0;
const tan = Math.tan(angle);
let p;
let i;
let l;
// x 平移
if (x === 0) {
for (i = 0, l = contour.length; i < l; i++) {
p = contour[i];
p.x += tan * (p.y - offsetY);
}
}
// y平移
else {
for (i = 0, l = contour.length; i < l; i++) {
p = contour[i];
p.y += tan * (p.x - offsetX);
}
}
return contour;
}