我一直在努力用photoview做一个onDraw。我使用另一个类来扩展photoview并覆盖onDraw。我得到了drawable并在扩展类上显示它。然后我获取正在使用的图像并用它创建一个位图。然后我获取图像并创建一个新的位图,然后将其添加到画布。然后画布用于提取。通过获取photoview的宽度和x离开photontap然后只做x *宽度找到坐标,然后对y进行相同的操作然后使其无效。我已添加以下代码。
drawHandler.setOnPhotoTapListener(new OnPhotoTapListener() {
@Override
public void onPhotoTap(ImageView view, float x, float y) {
onTap( x* width, y*height);
}
});
}
public void onTap(float x, float y){
oldy = currenty;
oldx = currentx;
currenty = y;
currentx = x;
if(oldy!=null && oldx!=null) {
if(oldx!= x && oldy!=y) {
drawHandler.x = x;
drawHandler.y = y;
drawHandler.oldX = oldx;
drawHandler.oldY = oldy;
drawHandler.draw(canvas);
drawHandler.invalidate();
}
}
}
这是在DrawHandler
中 @Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint p = new Paint(Paint.ANTI_ALIAS_FLAG);
Log.d("Draw Method Accessed", "About to draw");
canvas.drawLine(x, y, oldX, oldY, black);
}
}
我不知道为什么它没有画线