用clipPath来做放大镜功能

来一支蓝立群 2016-07-26 02:40:03
我现在在做一个放大镜的功能,现在功能实现了。
但是我想在放大显示区域的中间画一个十字准星。
但是现在通过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);
...全文
212 7 打赏 收藏 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
黄玉龙 2017-04-11
  • 打赏
  • 举报
回复
楼主 ,你好,你的放大镜功能可以给我参考一下吗?万分感谢。
恶魔蝎子 2016-07-27
  • 打赏
  • 举报
回复
恶魔蝎子 2016-07-27
  • 打赏
  • 举报
回复
恶魔蝎子 2016-07-27
  • 打赏
  • 举报
回复
来一支蓝立群 2016-07-26
  • 打赏
  • 举报
回复
再来一下
来一支蓝立群 2016-07-26
  • 打赏
  • 举报
回复
不要沉啊
来一支蓝立群 2016-07-26
  • 打赏
  • 举报
回复
自己顶一下

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧