首页 编程 软件学院 查看内容

Android自定义截屏功能,类似QQ截屏

2014-11-3 11:46 954 0

摘要: 因为公司业务需求 需要对一个屏幕进行截屏,但自带的截屏功能是远远不够项目的功能需求 ,我们是做一个画板软件 ,需要的像QQ那样截屏之后 ,可以看到我们自定义的工具,有画笔,按钮等等 。android自...
关键词: nbsp Canvas 矩形 方法 OFFSET 一个 圆点 图片 event false

因为公司业务需求 需要对一个屏幕进行截屏,但自带的截屏功能是远远不够项目的功能需求 ,我们是做一个画板软件 ,需要的像QQ那样截屏之后 ,可以看到我们自定义的工具,有画笔,按钮等等 。android自带的功能非常简单,只需要Intent隐式调用就完全足够了,但他是系统的应用 ,界面固定,无法定制修改。实现方法跟办法有很多种,下面记录下我实现的方法 。我是这样一个思路 ,重写一个View组件 ,在OnDraw里面只负责不画图形(包括半透明的四个矩形,亮框矩形,亮框上的四个小圆点),Ontouch方法是不停的去修改亮框 的坐标点。然后重新绘制 。效果图:  我是把这个图片分解成下面这个图的形状的。我们在onTouch里面就不停地去绘制矩形跟圆点。具体代码实现主要思路:1、图片绘制方法:[java] view plaincopy@Override      protected void onDraw(Canvas canvas) {          super.onDraw(canvas); //不重写 图片无法出现          if(mBitmap!=null){  //          drawNoLight(canvas);              canvas.drawBitmap(mBitmap, iconLeft , iconTop, p_picture) ;              //画高亮的边界              drawRect(canvas) ;              if(isDown)                  drawCircle(canvas) ;          }                }  2、图片坐标改动方法:[java] view plaincopy@Override      public boolean onTouchEvent(MotionEvent event) {                    int action = event.getAction() ;          float x = event.getX() ;          float y = event.getY() ;          switch (action) {          case MotionEvent.ACTION_DOWN:              startX = x ;              startY = y ;              //需要判断是在矩形的外边还是里面(判断是移动还是缩放)              if(x>lightRect.left+OFFSET && x<lightRect.right -OFFSET && y>lightRect.top+OFFSET && y<lightRect.bottom -OFFSET){                  //是移动的状态                  isMove = true ;                  isScale = false ;              }else if(x<lightRect.left-OFFSET || y<lightRect.top-OFFSET || x>lightRect.right+OFFSET || y>lightRect.bottom+OFFSET){                  isMove = false ;                  isScale = false ;              }else {                  isMove = false ;                  isScale = true ; //缩放                   point = getScalePoint(startX , startY);              }              if(!isScale)                  isDown = false 声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部