我正在开发一个应用程序,要求如下。
使用捏拉缩放和平移显示图像。
为此我使用来自here
的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位置。