画布缩放坐标

时间:2015-09-29 01:18:35

标签: android canvas coordinates scale rect

如何缩放画布后获取形状的坐标? 例如,画布包含一些矩形。然后用户放大。我如何获得新坐标?

我需要矩阵吗?我使用GestureDetector,一切正常。如果用户移动视图,画布也会移动。我的意思是我看到新的位置,但我无法访问坐标。

@Override
    public void onDraw(Canvas canvas) {
        super.onDraw(canvas);

        canvas.save();
        canvas.scale(mScaleFactor, mScaleFactor, mFocusX, mFocusY);
        canvas.translate(mFocusX + mPosX, mFocusY + mPosY);

        drawLines(canvas);

        for(TextRect r : rectList){
            canvas.drawRect(r.getRect(), blue);
            white.setTextSize(DEFAULT_TEXTSIZE + r.textSize);
            canvas.drawText(r.getRectText(), r.getRect().left + r.xStart, r.getRect().top + 32, white);
        }

        canvas.restore();
    }

0 个答案:

没有答案