
android绘制
文章平均质量分 80
麻花儿wt
我爱吃麻花儿
展开
-
路径和文字
一 Path(路径)cavas要绘制路径,需要使用Path,void drawPath (Path path, Paint paint),该方法可以绘制指定的path,这里介绍path相关的方法。1 直线路径void moveTo (float x1, float y1)void lineTo (float x2, float y2)void close ()以上3个方法用于绘制直线路径,其中原创 2016-05-10 15:15:26 · 3220 阅读 · 1 评论 -
android camera 3d特效 详解与进阶
1 概述本篇主要讲解camera,这里的camera并不是照相相关的类,而是android.graphics.Camera,这个类中封装了一个matrix,不熟悉的同学可以看前面的文章来了解。android matrix 最全方法详解与进阶(完整篇)这里和前面的详解与进阶系列一致,我们依然是先挨个讲解camera提供的方法,然后再讲解他们的实际应用。在此之前,我们先讲一些背景知识。先来看一个坐标系:原创 2016-05-20 16:55:49 · 9661 阅读 · 8 评论 -
android matrix 最全方法详解与进阶(完整篇)
1 概述这里我们会详细讲解matrix的各个方法,以及它的用法。matrix叫做矩阵,在前面讲解 ColorFilter 的文章中,我们讲解了ColorMatrix,他是一个4*5的矩阵。而这里,我们讲解的Matrix不是用于处理颜色的,而是处理图形的。他是一个3*3的矩阵。2 原理先看看matrix的矩阵是什么样子的:这里可以查看Matrix的代码得到。那么这个矩阵分别代表了什么呢,这里通原创 2016-05-18 16:43:27 · 75007 阅读 · 29 评论 -
android matrix 详解与进阶(一)
1 概述这里我们会详细讲解matrix的各个方法,以及它的用法。matrix叫做矩阵,在前面讲解 ColorFilter 的文章中,我们讲解了ColorMatrix,他是一个4*5的矩阵。而这里,我们讲解的Matrix不是用于处理颜色的,而是处理图形的。他是一个3*3的矩阵。2 原理先看看matrix的矩阵是什么样子的:这里可以查看Matrix的代码得到。那么这个矩阵分别代表了什么呢,这里通原创 2016-05-18 11:59:15 · 8028 阅读 · 1 评论 -
android Path 和 PathMeasure 进阶
1 概述在前面的路径和文字中,讲解了path的基本用法,这里讲解一些上篇没有讲到的东西。2 Path 这里讲解path相关的方法,后面继续讲解PathMeasure,以及实例(1) offsetpublic void offset(float dx, float dy)public void offset(float dx, float dy, Path dst)这里两个方法都是指定offset原创 2016-05-17 16:03:13 · 15502 阅读 · 3 评论 -
android Xfermode
1 概述xfermode主要指图像的混合模式,在android中,paint可以设置不同的xfermode来达到不同的效果。 Xfermode有三个子类:AvoidXfermode,PixelXorXfermode,PorterDuffXfermode; 由于前面两个都已经被废弃,并且并不支持硬件加速,所以这里主要讲解PorterDuffXfermode。2 PorterDuffXfermode原创 2016-05-14 17:32:25 · 2482 阅读 · 0 评论 -
ColorFilter
1 概述ColorFilter主要用来处理颜色,这里将讲解它的三个子类,ColorMatrixColorFilter, LightingColorFilter以及PorterDuffColorFilter。2 ColorMatrixColorFilter这个类主要是使用matrix也就是矩阵对颜色做运算,矩阵的形态如下:颜色值和该矩阵的换算关系如下:RGB和Alpha的终值计算方法如下:Red通原创 2016-05-13 16:31:16 · 8703 阅读 · 0 评论 -
paint进阶
概述paint的基本绘制方法已经在前面的基本图形绘制中讲解了,这里做的是进阶讲解,讲解paint的一些进阶方法。例如:setStrokeCap,setStrokeJoin,setPathEffect等。PathDashPathEffect,DiscretePathEffect,DashPathEffect,CornerPathEffect,ComposePathEffect,SumPathEffect原创 2016-05-11 15:34:37 · 4040 阅读 · 0 评论 -
canvas变换
概述要运用好canvas绘图,不仅需要使用前面说到的canvas的基本绘制,也必须使用好canvas的变换。Canvas的变换有 平移(translate),旋转(rotate),缩放(scale),错切(skew),裁剪(clip),保存(save),保存图层(saveLayer),恢复(restore),恢复到指定状态(restoreToCount)等。以上的变换操作与屏幕的显示有一定关系,首先原创 2016-05-10 15:39:42 · 11046 阅读 · 7 评论 -
Region区域
概述Region是绘制中的区域的意思。使用Region可以对图形有很多操作,比如区域的合并,取交集,取抑或等。 创建一个Region有如下的方法:public Region() public Region(Region region) public Region(Rect r) public Region(int left, int top, int right, int botto原创 2016-05-10 17:35:23 · 8953 阅读 · 0 评论 -
文字区域
概述android文字绘制中,不得不说到的就是文字的基线,baseline,小时候写的四线的英文如下:其中的第三条线就是文字的基线(baseline),看起来文字好像是坐在上面一样。绘制文字的方法drawText在前面已经讲过了,这里就不再赘述。下面看一看android中基线的位置:红色的是基线,两条红色的交点就是绘制的起点。绘制代码如下:int baselineX = 100;int basel原创 2016-05-10 17:50:49 · 1994 阅读 · 0 评论 -
贝塞尔曲线
概述贝塞尔曲线在android中运用广泛,可以用来绘制各类复杂曲线,因为贝塞尔曲线只需要指定控制点,就能绘制出特定的曲线。其次是做点和点的平滑过渡。为什么可以做到如上两点,看下面的讲解:首先来说,贝塞尔曲线有阶的概念,这个阶可以理解为控制点,一阶的控制点只有两个。如上是一阶的方程,其中t取值为0到1,可以理解为时间,从开始到结束。动图如下:图中可以看到,点随着t的变化从p0到p1运动,一阶的贝塞尔其原创 2016-05-10 19:18:14 · 2440 阅读 · 0 评论 -
绘制基本图形
paint基本方法setStylepaint.setStyle(Style.FILL)方法可以给paint设置绘制风格,有FILL,FILL_AND_STROKE,STROKE,这3种绘制风格,每种有所不同。上图的3个圆,分别是FILL,FILL_AND_STROKE,STROKE风格绘制的。setShadowLayer setShadowLayer (float radius, float d原创 2016-05-10 15:04:21 · 2116 阅读 · 0 评论 -
android canvas layer (图层)详解与进阶
1 概述前面的canvas变换文章中,已经粗略的讲解过saveLayer的知识,只是图层的概念没有详细的讲解。这里将详细讲解layer。在使用相关方法和flag的时候,先关闭硬件加速。如果需要开启,参照谷歌官方的硬件加速表格。硬件加速版本2 saveLayersaveLayer可以为canvas创建一个新的透明图层,在新的图层上绘制,并不会直接绘制到屏幕上,而会在restore之后,绘制到上一个图层原创 2016-05-16 10:56:07 · 26371 阅读 · 6 评论