From d57febbf2508bda05097cbc2a94f332e8b071524 Mon Sep 17 00:00:00 2001 From: kekee000 Date: Mon, 30 Mar 2015 01:52:02 +0800 Subject: [PATCH] fix path join --- src/graphics/image/fitContour.js | 7 ++++++- src/graphics/pathJoin.js | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/graphics/image/fitContour.js b/src/graphics/image/fitContour.js index cb42e99..d8eaa4b 100644 --- a/src/graphics/image/fitContour.js +++ b/src/graphics/image/fitContour.js @@ -10,6 +10,7 @@ define( var fitBezier = require('graphics/image/fitBezier'); var findBreakPoints = require('graphics/image/findBreakPoints'); var pathUtil = require('graphics/pathUtil'); + var reducePath = require('graphics/reducePath'); var vector = require('graphics/vector'); @@ -136,7 +137,11 @@ define( resultContour.splice(resultContour.length - 1, 1); } - return pathUtil.deInterpolate(resultContour); + return pathUtil.deInterpolate(reducePath(resultContour)).map(function (p) { + p.x = Math.floor(p.x); + p.y = Math.floor(p.y); + return p; + }); } return fitContour; diff --git a/src/graphics/pathJoin.js b/src/graphics/pathJoin.js index 77eef86..c8e5d38 100644 --- a/src/graphics/pathJoin.js +++ b/src/graphics/pathJoin.js @@ -24,7 +24,7 @@ define( var interpolatePathCrossBezier = require('./join/interpolatePathCrossBezier'); var bezier2Segment = require('./join/bezier2Segment'); var segment2Bezier = require('./join/segment2Bezier'); - + var reducePath = require('./reducePath'); /** * 求路径交集、并集、差集 @@ -88,7 +88,7 @@ define( return paths.filter(function (path) { return path.length > 2; }).map(function (path) { - return deInterpolate(path); + return reducePath(deInterpolate(path)); }); }