我正在尝试制作一个应用程序,我可以在其中放大并在图像上绘制一些东西,我使用以下链接制作可缩放的图像视图,该视图正在 为图像提供良好的缩放功能
现在的问题是,当我在画布上绘制的内容被缩小时,我不知道如何缩放和转换为图像大小。以下是 onDraw() 函数。我已经记录了将它们添加到列表中的接触点,并且在我的视图的这个 onDraw() 函数中,我正在检索这些点,但这些点是相对于屏幕的。我必须根据图像操作来翻译和缩放它(在放大/缩小图像的情况下)。
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if(mMarkers!=null)
{
for(Marker m : mMarkers) {
// draw the marker
Log.v("IP","position"+ m.x+" "+ m.y);
Paint paint=new Paint();
paint.setARGB(255, 2, 255, 2);
canvas.drawText("O", m.x, m.y, paint);
if(x!=-1){
Log.v("IP","LINE"+x+" " + y+ " "+ m.x+" "+ m.y);
canvas.drawLine(x, y,m.x, m.y, paint);
}
x=m.x;
y=m.y;
}
x=y=-1;
}
}