重新调整路径的麻烦

时间:2014-02-06 16:00:23

标签: android canvas path zoom scale

我在尝试重新缩放绘制的路径时遇到了一些麻烦。我设法在缩小时获得保持在正确位置的路径,但我不知道如何正确地缩放它。此外,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();


          }

希望你们能帮助我!

0 个答案:

没有答案