我在尝试重新缩放绘制的路径时遇到了一些麻烦。我设法在缩小时获得保持在正确位置的路径,但我不知道如何正确地缩放它。此外,twhen缩小应用程序绘制一条线,将第一个Point连接到我的路径的最后一个点我不明白为什么。
以下是一些图片来解释我的意思:
here在我尝试缩放之前你可以看到它的样子。
here你可以看到缩放后的样子。(之后我画了红线,向你展示路径如何改变它的大小。你还可以看到直线,在缩放后以某种方式添加。 )
这是我的onDraw方法:
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.save();
canvas.scale(mScaleFactor, mScaleFactor);
drawCoordinateSystem(canvas, mPosX, mPosY);
if (drawMode == false) {
path.reset();
path.moveTo((lastTouchX/displayWidth) * (displayWidth/mScaleFactor) , (lastTouchY/displayHeight) * (displayHeight/mScaleFactor));
for (int i = 0; i <= pathPointsX.size() - 1; i++) {
float mPointX = (pathPointsX.get(i)/displayWidth) * (displayWidth/mScaleFactor);
float mPointY = (pathPointsY.get(i)/displayHeight) * (displayHeight/mScaleFactor);
path.lineTo(mPointX, mPointY);
}
canvas.drawPath(path, paintL);
} else {
canvas.drawPath(path, paintL); }
canvas.restore();
}
希望你们能帮助我!