mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-21 03:25:12 +08:00
# Conflicts: # jsowell-ui/.env.development # jsowell-ui/.env.staging # jsowell-ui/bin/build-sit.bat # jsowell-ui/bin/build.bat # jsowell-ui/src/api/adapayMember/adapayMember.js # jsowell-ui/src/api/pile/merchant.js # jsowell-ui/src/router/index.js # jsowell-ui/src/views/financial/financeDetail.vue # jsowell-ui/src/views/financial/merchant.vue # jsowell-ui/src/views/homeIndex/homeIndex.vue # jsowell-ui/src/views/login.vue # jsowell-ui/src/views/pile/basic/detail.vue # jsowell-ui/src/views/pile/station/components/SiteInfo.vue # jsowell-ui/src/views/pile/station/detail.vue # jsowell-ui/src/views/pile/station/orderReport.vue
37 lines
1.0 KiB
JavaScript
37 lines
1.0 KiB
JavaScript
var smoothSpline = require("./smoothSpline");
|
|
|
|
var smoothBezier = require("./smoothBezier");
|
|
|
|
function buildPath(ctx, shape, closePath) {
|
|
var points = shape.points;
|
|
var smooth = shape.smooth;
|
|
|
|
if (points && points.length >= 2) {
|
|
if (smooth && smooth !== 'spline') {
|
|
var controlPoints = smoothBezier(points, smooth, closePath, shape.smoothConstraint);
|
|
ctx.moveTo(points[0][0], points[0][1]);
|
|
var len = points.length;
|
|
|
|
for (var i = 0; i < (closePath ? len : len - 1); i++) {
|
|
var cp1 = controlPoints[i * 2];
|
|
var cp2 = controlPoints[i * 2 + 1];
|
|
var p = points[(i + 1) % len];
|
|
ctx.bezierCurveTo(cp1[0], cp1[1], cp2[0], cp2[1], p[0], p[1]);
|
|
}
|
|
} else {
|
|
if (smooth === 'spline') {
|
|
points = smoothSpline(points, closePath);
|
|
}
|
|
|
|
ctx.moveTo(points[0][0], points[0][1]);
|
|
|
|
for (var i = 1, l = points.length; i < l; i++) {
|
|
ctx.lineTo(points[i][0], points[i][1]);
|
|
}
|
|
}
|
|
|
|
closePath && ctx.closePath();
|
|
}
|
|
}
|
|
|
|
exports.buildPath = buildPath; |