zoukankan      html  css  js  c++  java
  • 可延长、缩短、拖动图形的画图软件

    参考了网上的很多代码,做的挺不错。就是不能拖动、延长、缩短···  
    所以我自己努力,将他们加上。
    现在分享给大家。
    ---------------------------------------------------------------------------------------------------------
    有两种实现方式。
    第一种实现方式:
    一个主view类(一个自定义view),在主view类中定义了统一的paint、bitmap、canvas,以及子类中需要用到的3个点downPoint,movePoint,upPoint。
    其他子类(画直线的view、画矩形的view····)都是继承这个主view类。
    在每次选择形状的时候:
    1、实例化一个view类
    2、将view类加入到当前activity
    画每一种形状都是在自己的view上进行,新加进来的view覆盖前面的view。
    每个子类中都有方法onTouchEvent()执行自己的操作:
     
    public boolean onTouchEvent(MotionEventevent) {[/align]
      
                       switch(event.getAction()){
     
      
                       caseMotionEvent.ACTION_DOWN:
     
      
                       caseMotionEvent.ACTION_MOVE:
     
      
                       caseMotionEvent.ACTION_UP:
     
                                                   }
     
               return true;
     
              }
    

      

    缺点:
    每次选择一个形状的时候都会调用view类中的
    bitmap = Bitmap.createBitmap(480, 700,Bitmap.Config.ARGB_8888); //设置位图的宽高
    canvas=new Canvas(bitmap);
    来重新创建一个bitmap,如果不停的选择,就会不停的新建bitmapBitmap创建过多之后就会报:内存溢出错误。
    具体的实现方法:
    关于画图的具体实现方式,比如:直线如何实现拖动?等等。我在代码中做了详细的注释,相信大家都能看懂。具体情况下载代码看吧。大家如果有什么不懂的,欢迎交流,我尽力解答。
    写在最后:
    这个小项目还有很多不完善的地方,欢迎大家提供宝贵意见,提出改进方法。
    如果你下载之将代码后完善的更好了,希望能发我一份。大家一起改进。谢谢了


    实现效果:

     源码:DrawDemo01.rar

    ---------------------------------------------------------------------------------------------------------

    第二种实现方式:


    比第一种实现方式好多了,整个项目看起来更系统。

    DrawDemo01的基础上添加了橡皮、清空、保存图片、查看图片的功能。

    具体实现方式源码注释写的很清楚了,大家有兴趣的自己下载看看。

    实现效果:

    源码:DrawDemo02.rar

  • 相关阅读:
    搜索文件/目录的shell脚本
    git的编译安装
    linux命令行直接执行MySQL/MariaDB语句查询
    MySQL重置root密码
    图解TCP/IP三次握手
    使用pull命令从Docker Hub仓库中下载镜像到本地
    BZOJ1051 [HAOI2006]受欢迎的牛(Tarjan缩点)
    BZOJ1026 [SCOI2009]windy数(数位DP)
    CERC2017 H Hidden Hierarchy(树+模拟)
    2018icpc徐州网络赛-H Ryuji doesn't want to study(线段树)
  • 原文地址:https://www.cnblogs.com/tijing/p/2662236.html
Copyright © 2011-2022 走看看