
canvas
卖火柴的小男孩2020
你在驴背上看世界,世界在驴胯下看你
展开
-
Android中canvas.save()和canvas.restore()的使用
自己定义控件时经常遇到重写View的Ondraw()方法,Ondraw()方法经常设计到save()和restore()这两个方法.这两个相互匹配出现的,作用是用来保存画布的状态和取出保存的状态的。详细作用例如以下:1.save():用来保存Canvas的状态,save()方法之后的代码,能够调用Canvas的平移、放缩、旋转、裁剪等操作!2.restore():用来恢复Canv...原创 2019-03-15 17:27:00 · 795 阅读 · 0 评论 -
从零开始仿写一个抖音App——Android绘制机制以及Surface家族源码全解析
链接到本篇文章分为以下章节,读者可以按需阅读1.Android绘制机制概览 2.Android绘制机制源码分析 3.Surface家族源码全解析 4.总结阅读须知1.进入微信公众号 世界上有意思的事 发送消息:Android绘制机制以及Surface家族源码全解析,即可获取本文的 pdf 版。 2.本文分析的源码版本是 Android 7.0,建议结合源码阅读本文 3.推荐...原创 2019-07-29 17:05:17 · 575 阅读 · 0 评论 -
SurRview之lockCanvas
链接到昨天刚开始摸索Surface这个东西,在用到 lockCanvas(Rect dirty)这个接口的时候一直没有出来自己想要的效果,网上搜了一下不得要领,后来看到“双缓冲”这几个字突然蹦出来一丝灵感,加以实践,最终证实了自己的猜想。lockCanvas(null),就是锁住整张画布,绘画完成后也更新整张画布的内容到屏幕上,这个没有什么疑惑。而 loc...原创 2019-07-26 18:02:04 · 226 阅读 · 0 评论 -
Android surfaceview双缓冲机制和闪屏的解决方法内附代码详解
1、双缓冲机制:至于什么是双缓冲机制,我这里简单介绍一下,大家可以上网查看别人的资料都很详细了:这种机制的原理就是第一次显示缓存A的内容,下次显示缓存B的内容,在下次又显示缓存A的内容,即两个缓存中的内容交替显示,并且两个缓存中的数据是相互独立的。这个机制在surfaceview中是如何实现的呢?通过这几个方法:surfaceholder.lockCanvas--surfaceholder...原创 2019-08-02 13:55:52 · 1275 阅读 · 1 评论 -
Rect和RectF函数
1.是否包含点,矩形判断是否包含某个点boolean contains(int x,int y) 函数用于判断某个点是否在当前矩形中,如果在,则返回true ,不在则false2.判断是否包含某个矩形public boolean contains(float left, float top, float right, float bottom) 判断是否包含某个矩形publi...原创 2019-08-02 14:19:31 · 1521 阅读 · 0 评论