主要通过6个控制点实现. val startPoint = PointF() val endPoint = PointF() val control1 = PointF() val control2 = PointF() val control3 = PointF() val control4 = PointF() 绘制过程: private fun drawWater(canvas: Canvas) { waterPath.apply { reset() moveTo(startPoint)…
1.贝塞尔曲线:http://baike.baidu.com/view/60154.htm,在这里理解什么是贝塞尔曲线 2.直接上图: 3.100多行代码就可以画出贝塞尔曲线,直接上代码 package com.example.bezier; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.content.Context; import android.g…
1,最近看了几个不错的自定义view,发现里面都会涉及到贝塞尔曲线知识,深刻的了解到贝塞尔曲线是进阶自定义view的一座大山,so,今天先和大家来了解了解. 2,贝塞尔曲线作用十分广泛,简单举几个的栗子: QQ小红点拖拽效果 360火箭发射 加入购物车动画 一些炫酷的下拉刷新控件 阅读软件的翻书效果 一些平滑的折线图的制作 很多炫酷的动画效果 这么多好看的效果,难道不想自己也写一个吗.... 理解贝塞尔曲线的原理 贝塞尔曲线是用一系列点来控制曲线状态的,我将这些点简单分为两类:数据点.控制点.通…
1,最近看了几个不错的自定义view,发现里面都会涉及到贝塞尔曲线知识,深刻的了解到贝塞尔曲线是进阶自定义view的一座大山,so,今天先和大家来了解了解. 2,贝塞尔曲线作用十分广泛,简单举几个的栗子: QQ小红点拖拽效果 360火箭发射 加入购物车动画 一些炫酷的下拉刷新控件 阅读软件的翻书效果 一些平滑的折线图的制作 很多炫酷的动画效果 这么多好看的效果,难道不想自己也写一个吗.... 理解贝塞尔曲线的原理 贝塞尔曲线是用一系列点来控制曲线状态的,我将这些点简单分为两类:数据点.控制点.通…
相信很多同学都知道"贝塞尔曲线"这个词,我们在很多地方都能经常看到.利用"贝塞尔曲线"可以做出很多好看的UI效果,本篇博客就让我们一起学习"贝塞尔曲线". 贝塞尔曲线的原理 贝塞尔曲线是用一系列点来控制曲线状态的,这些点简单分为两类: 类型 作用 数据点 确定曲线的起始和结束位置 控制点 确定曲线的弯曲程度 一阶贝塞尔曲线 一阶曲线是没有控制点的,仅有两个数据点(A 和 B),最终效果一个线段. 动态过程可以参照下图(贝塞尔曲线相关的动态演示图片…
博客也开了挺长时间了,一直都没有来写博客,主要原因是自己懒---此篇博客算是给2017年一个好的开始,同时也给2016年画上一个句点,不留遗憾. 那就让我们正式进入今天的主题:贝塞尔曲线. 首先,让我们来了解下什么是贝塞尔曲线. 贝塞尔曲线(Bézier curve),又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线.贝塞尔曲线于1962,由法国工程师皮埃尔·贝塞尔(Pierre Bézier)所广泛发表,他运用贝塞尔曲线来为汽车的主体进行设计.贝塞尔曲线最初由Paul de Cas…
最近做的一个小项目需要绘制一些折线图,AChartEngine其实里面包含很多图,虽然是开源的,但毕竟不是自己写的,而且项目稍有点庞大,有些东西修改起来还是得花点时间的,所以最后打算自己写一个,参考了多看阅读的阅读时间曲线效果,先看效果图: 下面这张是没有中间"平均3小时/天"那个小条的效果 已经开源了,代码放在github,地址是https://github.com/Steven-Luo/android-bezier-curve-chart 用法很简单 布局文件少不了: <co…
博客图片备份位置:…
贝塞尔曲线,很多人可能不太了解,什么叫做贝塞尔曲线呢?这里先做一下简单介绍:贝塞尔曲线也可以叫做贝济埃曲线或者贝兹曲线,它由线段与节点组成,节点是可拖动的支点,线段像可伸缩的皮筋.一般的矢量图形软件常利用贝塞尔曲线来精确画出曲线. 上面的介绍中,“线段像可伸缩的皮筋”这句话非常关键,但也特别好理解.至于贝塞尔曲线的详细内容大家可以查阅相关资料. Android提供的贝塞尔曲线绘制接口 在Android开发中,要实现贝塞尔曲线其实还是很简单的,因为Android已经给我们提供了相关接口,但此接口方…
Path.cubicTo void android.graphics.Path.cubicTo(float x1, float y1, float x2, float y2, float x3, float y3)   FDrawPath.cubicTo(x1, y1, x2, y2,x3,y3);   标出三个点进行绘画连线成形贝塞尔曲线…