1

我正在开发一个应用程序,要求如下。

用捏缩放和平移显示图像。

为此,我从这里使用 TouchImageview.java

它正在按预期工作。

在图像上绘制实心圆圈。

这也有效。

public class NavigationViewZoom extends TouchImageView {
    private Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);

    @Override
    public void setImageBitmap(Bitmap bm) {
        super.setImageBitmap(bm);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        canvas.drawCircle(300, 120, 50, mPaint);
    }

    public NavigationViewZoom(Context c) {
        super(c);
        init();
    }

    public NavigationViewZoom(Context c, AttributeSet attrs) {
        super(c, attrs);
        setDrawingCacheEnabled(true);
        init();
    }

    private void init() {

        mPaint.setColor(Color.RED);
        mPaint.setStyle(Paint.Style.FILL);

    }
}

问题:

现在的问题是,在画布上绘制实心圆圈后放大/缩小图像时,圆圈位置不受管理。

例如,在缩放图像后,我在位置 x=100,y=100 上绘制实心圆,圆应该在同一位置。那么如何获得缩放图像上的相对 x,y 位置。

4

1 回答 1

0

尝试使用这个。在演示应用程序中显示的功能似乎可以满足您的需求。

库中的CircleView类可能很有用。

于 2016-07-08T12:34:55.933 回答