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

参考了网上的很多代码,做的挺不错。就是不能拖动、延长、缩短···  
所以我自己努力,将他们加上。

 

现在分享给大家。
---------------------------------------------------------------------------------------------------------
有两种实现方式。

 

第一种实现方式:
一个主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 ,如果不停的选择,就会不停的新建bitmap Bitmap 创建过多之后就会报:内存溢出 错误。

 

具体的实现方法:
关于画图的具体实现方式,比如:直线如何实现拖动?等等。我在代码中做了详细的注释,相信大家都能看懂。具体情况下载代码看吧。大家如果有什么不懂的,欢迎交流,我尽力解答。

 

写在最后:
这个小项目还有很多不完善的地方,欢迎大家提供宝贵意见,提出改进方法。
如果你下载之将代码后完善的更好了,希望能发我一份。大家一起改进。谢谢了


实现效果:

 源码:DrawDemo01.rar

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

第二种实现方式:


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

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

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

实现效果:

源码:DrawDemo02.rar

转载于:https://www.cnblogs.com/tijing/archive/2012/08/29/2662236.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值