该项目的代码已经重构,采用了新框架,强烈建议查看《Android全新图片涂鸦框架Doodle——多功能、可自定义、可扩展》
(旧代码暂时不维护了,所以推荐还是使用最新框架吧!也希望大伙支持!!!)
点击移步到最新涂鸦框架>>>Doodle
————————————————————————————————————————————————
之前做过图片涂鸦的功能,前段时间很多人问我要源码,但因为当时技术水平有限,功能虽然实现了,但代码却不利于阅读,实现原理也过于“新手”,于是为了方便他人学习参考,本人在工作之余,经过漫长过程,终于把原有的代码重构,使用更加简洁明了的原理,实现图片涂鸦功能。实现效果如下:
主要功能如下:
- 设置画笔及形状
画笔可以选择手绘、仿制、橡皮擦、文字,其中仿制功能跟PS中的类似,复制图片中的某处地方。形状可以选择手绘、箭头、直线、圆、矩形等。画笔的底色可以选择颜色,或者选择一张画布。
- 撤销及清屏
每一步的操作都可以撤销,清屏时将清除所有的操作。
- 放缩、移动及旋转
在涂鸦的过程中,可以自由地通过手势缩放和移动图片,同时在多次缩放后,可快速居中图片;支持旋转图片。
源码在Github上的地址为:https://github.com/1993hzw/Graffiti , 欢迎大家反馈问题,我会及时在上面更新代码,谢谢支持。
这篇文章主要是介绍图片涂鸦的功能,接下来我会抽空把实现的原理梳理出来,方便大家理解。基础好的同学也可以先自行阅读代码,我已经写好了注释。