可延长、缩短、拖动图形的画图软件

参考了网上的很多代码,做的挺不错。就是不能拖动、延长、缩短···  
所以我自己努力,将他们加上。
现在分享给大家。
---------------------------------------------------------------------------------------------------------
有两种实现方式。
第一种实现方式:
一个主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

原文地址:https://www.cnblogs.com/tijing/p/2662236.html