![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android简单画板开发
文章平均质量分 79
从0到1的简单画板开发,原理和代码都一清二楚噢
KeepStudya
勇于学习的程序员
展开
-
Android画板开发(一) 基本画笔的实现
一、简介这是画板系列的第一篇,一步步开始,从简单的画板,到功能稍微齐全一点的画板,例如基本画笔、橡皮擦、背景、文字、撤销、反撤销、保存等这篇带大家实现一个最简单的画板,前提是需要对自定义View有一定的了解。用的是kotlin语言二、实现分析如何实现: 定义了画笔和Path,然后在触摸屏幕的时候,手指一边移动一边进行path的滑动,绘制。这就完成了一个最简单的画笔功能。下面几十行代码完成这个 cla原创 2017-10-31 10:31:43 · 5741 阅读 · 2 评论 -
Android画板开发(二) 橡皮擦实现
在上一篇实现了简单的画板功能, 这篇实现橡皮擦功能,首先分析一下应该如何实现,在Andriod有个图像混合(Xfermode)概念,利用这个概念我们就可以实现橡皮擦功能。一、XfermodePaint有一个方法setXfermode(Xfermode),这个方法设置图像的混合模式。参数有三个子类:AvoidXfermodePixelXorXfermodePorterDuffXfermode前原创 2017-10-31 10:53:37 · 8997 阅读 · 6 评论 -
Android画板开发(三) 撤销反撤销功能实现
一、分析这篇将会讲解撤销反撤销功能的实现,先讨论一下这个原理是怎么样实现的。每次撤回的内容,内容是怎么定义呢? 其实就是每一笔,每一笔作为撤回的内容,那每一笔怎么算呢,就是算手指从按下-移动-放开这一个过程就是一笔。我们只需记录这个过程为一笔,然后用一个已画列表list列表来记录这个过程的paint画笔和路径path。撤销的时候就把后面的一个数据移到另一个撤销列表反撤销的时候,就把撤销列表的最后面那原创 2017-10-31 21:52:12 · 6128 阅读 · 0 评论 -
Android画板开发(四) 添加背景和保存画板内容为图片
一、绘制背景绘制背景的方法有两种:自己利用canvas进行绘制利用view的自带方法进行绘制1.1 canvas绘制背景自己绘制的背景的方法就是在onDraw回调进行绘制的时候,先draw一个背景,再进行draw原来的内容 override fun onDraw(canvas: Canvas) { super.onDraw(canvas) //先绘制颜色作为原创 2017-11-01 09:59:29 · 6623 阅读 · 1 评论 -
Android画板开发(五) 添加文本文字
一、前言添加文本,也是属于 一个比较简单的功能,在第二篇的时候,添加了橡皮擦,在橡皮擦里面通过一个模式的形式进行画笔的判断,当然文本也是如此,添加一个文本模式,在onTouchDown的时候,弹出PopupWindow,输入文本,然后PopupWindow消失的时候,利用staticLayout绘制到画布上即可。当然也有些需要注意的地方下面一步步来实现二、实现2.1 添加文本模式例如橡皮擦那样,添加原创 2017-11-02 09:34:30 · 3920 阅读 · 8 评论