0

我一直在努力用 photoview 做一个 onDraw。我使用另一个类来扩展 photoview 并覆盖 onDraw。我得到了drawable并在扩展类上显示它。然后我得到正在使用的图像并用它创建一个位图。然后我获取图像并创建一个新位图,然后将其添加到画布中。然后将画布用于ondraw。通过获取 photoview 的宽度和 photontap 上的 x 来找到坐标,然后只做 x*width,然后对 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);

    }
}

我不知道为什么它没有画线

4

0 回答 0