本人现在在做一个放大镜的功能,现在功能实现了。
但是本人想在放大显示区域的中间画一个十字准星。
但是现在通过canvas.clipPath来实现的局部放大会覆盖draw的准星。
问一下高手有什么办法解决吗?
放大镜的代码:
但是本人想在放大显示区域的中间画一个十字准星。
但是现在通过canvas.clipPath来实现的局部放大会覆盖draw的准星。
问一下高手有什么办法解决吗?
放大镜的代码:
p.setStrokeWidth(4); p.setStyle(Paint.Style.STROKE);// 空心圆 p.setColor(Color.argb(255, 255, 255, 255)); p.setAntiAlias(true); canvas.drawCircle(RADIUS + 5, RADIUS + 5, RADIUS + 2, p); canvas.drawLine(RADIUS-5,RADIUS + 5,RADIUS + 15,RADIUS + 5, p); canvas.drawLine(RADIUS+5,RADIUS-5,RADIUS + 5,RADIUS + 15, p); mPath.addCircle(RADIUS + 5, RADIUS + 5, RADIUS, Direction.CW); matrix.postScale(FACTOR, FACTOR); // canvas.translate(onTouchX - RADIUS, onTouchY - RADIUS);//放大镜跟随坐标移动 canvas.clipPath(mPath); // 画放大后的图 canvas.translate(RADIUS - onTouchX * FACTOR + 5, RADIUS - onTouchY * FACTOR + 5); canvas.drawBitmap(bitmap, matrix, null);
解决方案
10

15

15
