贝塞尔曲线实现水波纹效果(手把手教学)

贝塞尔曲线简单实现贝塞尔曲线这里我大概描述一下他是个什么玩意儿,平时在下载文件或者是App的时候大家都见过类似水波纹的动态图片吧,随着下载的越多,水涨的越高,就是这么个东西效果图,但是最终效果我们要的是它蓝色部分要像水一样慢慢升高啊,最终充满整个屏幕实现过程其实系统已经为我们写好了贝塞尔曲线的算法,这里只需要我们传入对应的参数就可以,贝塞尔曲线它还有三阶和二阶分别是cubicTo(float x1, float y1, float x2, float y2,
摘要由CSDN通过智能技术生成

贝塞尔曲线简单实现

贝塞尔曲线这里我大概描述一下他是个什么玩意儿,平时在下载文件或者是App的时候大家都见过类似水波纹的动态图片吧,随着下载的越多,水涨的越高,就是这么个东西
效果图,但是最终效果我们要的是它蓝色部分要像水一样慢慢升高啊,最终充满整个屏幕
在这里插入图片描述
实现过程

其实系统已经为我们写好了贝塞尔曲线的算法,这里只需要我们传入对应的参数就可以,贝塞尔曲线它还有三阶和二阶
分别是

cubicTo(float x1, float y1, float x2, float y2,
                    float x3, float y3)
rCubicTo(float x1, float y1, float x2, float y2,
                     float x3, float y3)

先建一个自定义类继承自View,重写它的构造方法
既然我们要绘制,都要先有画笔,设置它的颜色尽量设置为海蓝色
初始化画笔

private void init(Context context) {
   
    paint = new Paint();
    paint.setColor(Color.parseColor("#009FCC"));
    paint.setStyle(Paint.Style.FILL);
    path = new Path();
}

然后我们开始画啦,如何绘制水波纹
在这里插入图片描述
图呢我就画了这个图,大家凑活着看吧,图不重要,其中的矩形方块就是我们的手机屏幕啊,波浪线就是水波纹的效果,一段水波纹是曲线AD,我们只需要让这段曲线不断的滚动就实现了水波纹动画。曲线AD我们可以用贝塞尔曲线分别画出曲线AC和曲线CD,我们之所以从屏幕外开始画是因为水波纹要不断的波动要确保任何时刻都能看到水波纹,所以我们需要在屏幕前后及屏幕内画满水波纹


/**
 * 波纹的长度
 */
private final static int WAVE_LENGTH = 1500;
 
/**
 * 波纹的高度
 */
private final static int WAVE_HEGHT 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值