安卓图形绘制- LinearGradient 线性梯度
LinearGradient
线性渐变(线性梯度),用来实现在线的直线渐变,这个线是可以是直线竖线或者斜线
构造方法
public LinearGradient(float x0, float y0, float x1, float y1, int[] colors, float[] positions,Shader.TileMode tile)
参数:float x0: 渐变起始点x坐标float y0:渐变起始点y坐标float x1:渐变结束点x坐标float y1:渐变结束点y坐标int[] colors:颜色 的int 数组float[] positions: 相对位置的颜色数组, 为null,颜色沿渐变线均匀分布Shader.TileMode tile: 渲染器模式
x0,y0合在一起构成一个起点的坐标;
x1,y1合在一起构成个结束点的坐标;
int[]这个是颜色的数组所有的颜色;
float[]颜色对应的位置
Shader.TileMode颜色渐变的模式
Shader.TileMode:CLAMP:超出其原始边界,则复制边缘颜色MIRROR:根据x轴或y轴进行翻转REPEAT:重复该明暗器的图像
这里要重点说的是float数组的参数,不传入值的时候颜色值均匀分布在这个线上,那么均匀是指,如果传入3个值,那你float[]传入是空他的默认就是{0,0.5f,1},也就是说float数组是指的颜色对应的点
LinearGradient linearGradient = new LinearGradient(x, mTopPadding, x, bottom,new int[]{Color.TRANSPARENT, Color.WHITE, Color.WHITE, Color.TRANSPARENT},new float[]{0f, 0.2f, 0.8f, 1f}, Shader.TileMode.CLAMP);paint.setShader(linearGradient);
上面的代码实现效果是这样的,其中的竖线
注意:白色部分设置的是0.2到0.8的过程,面不是只设置两边的透明色位置
所以第一个渐变是0到0.2一个渐变白色,第二个渐变是0.8到1的渐变透明色
也就是说想实现多个颜色不均匀分布,要设置颜色长度的两个边缘颜色而不是只设置中间值
###构造方法
public LinearGradient(float x0, float y0, float x1, float y1, int color0, int color1,Shader.TileMode tile)
这个构造方法可以设置两个颜色的渐变,只有起点终点,开始颜色和结束颜色
单纯的渐变,很多网上的博客都是使用这个构造方法
float x0: 渐变起始点x坐标float y0:渐变起始点y坐标float x1:渐变结束点x坐标float y1:渐变结束点y坐标int color0: 起始渐变色
int color1: 结束渐变色Shader.TileMode tile: 渲染器平铺模式
图中K线的项目地址
candleLine
KChartLib 线的lib : https://github.com/icechao/kline
安卓图形绘制- LinearGradient 线性梯度相关推荐
- 安卓自定义View基础05-Canvas之基础图形绘制,点,线,矩形,圆,椭圆,弧形等
一.Canvas简介 Canvas我们可以称之为画布,能够在上面绘制各种东西,是安卓平台2D图形绘制的基础, 源码中关于Canvas的解释: The Canvas class holds the &q ...
- CSS3 linear-gradient线性渐变实现虚线等简单实用图形
一.作为图片存在的CSS3 gradient渐变 我觉得CSS3 Backgrounds比较厉害的一个地方就是支持多背景,也就是背景图片个数可以无限累加,正好CSS3的gradient渐变性质是 ba ...
- Android LinearGradient线性渐变
1 linearGradient简介 linearGradient线性渐变,会用到Paint的setShader,Shader 被称为着色器,在opengl中这个概念经常被用到,android中的sh ...
- Android绘图之LinearGradient线性渐变(9)
Android 绘图学习 android绘图之Paint(1) android绘图之Canvas基础(2) Android绘图之Path(3) Android绘图之drawText绘制文本相关(4) ...
- matlab图形绘制经典案例,Matlab图形绘制经典案例(转载)
1. 三维曲线 >> t=0:pi/50:10*pi; >> plot3(sin(2*t),cos(2*t),t) >> axis square >> ...
- 气象数据可视化:NCL数据分析处理与图形绘制
[查看原文]NCL数据分析与处理实践技术应用 NCAR Command Language(NCL)是由美国大气研究中心(NCAR)推出的一款用于科学数据计算和可视化的免费软件.它有着非常强大的文件输入 ...
- 神经网络基础知识、常用激活函数及其Python图形绘制
在人工智能与机器学习研究与应用领域,神经网络占有重要地位.神经网络(Neural Networks, NNs),又称人工神经网络(Artificial Neural Networks, ANNs),是 ...
- Android 颜色渲染(五) LinearGradient线性渲染
版权声明:本文为博主原创文章,未经博主允许不得转载. Android 颜色处理(五) LinearGradient线性渲染 相信很多人都看过歌词同步的效果, 一是竖直方向的滚动,另一方面是水平方面的歌 ...
- java实现图形界面输入半径求圆面积_测试开发工程师系列之Android自动化测试Appium(Python)连载(7)安卓图形界面...
安卓图形界面 UI即User Interface(用户界面)的简称.泛指用户操作界面,包含移动APP,网页,智能穿戴设备等.Android用户界面测试,要测试应用程序如何与一个真实的用户交互.这种测试 ...
最新文章
- quartz 分布式_6大分布式定时任务对比
- pyspider积累
- 7篇必读ACM MM 2019论文:图神经网络+多媒体
- Spark 在 Window 环境下的搭建
- 解决误删/bin/bash问题
- VINS-Fusion如何高效学习?
- NLP-语料库:英文语料库【Brown Corpus(有词性标注)、LOB(Lancaster-Oslo/Bergen,英国英文)...】
- 内存颗粒和闪存颗粒的区别_内存颗粒及频率知识,你真的清楚吗?
- .NET性能相关书籍
- 分享两款雪花特效代码
- 如何运用MATLAB实现K-MEANS聚类分析
- True Liars (并查集压缩路径 + DP)
- 各个领域中的经典论文,看看你都读过哪些 - 易智编译EaseEditing
- 故宫景点功课20:宁寿宫区2
- 基于 locust/boomer 为核心的简单 http 接口分布式性能测试工具
- Webrtc 回音消除 一
- OCJP(1Z0-851) 模拟题分析(二)
- Idel中maven全局配置
- 马化腾马云先后声明发展区块链:风口又来了?
- 2022年化工自动化控制仪表考试总结及化工自动化控制仪表证考试
热门文章
- 关于祥琳望晴-雅晴 | AiY! 备忘录
- MLX90640 红外热成像仪测温传感器模块
- 课题五 数控镗铣削加工工艺分析
- URP Camera
- java计算机毕业设计医疗健康管理平台会员管理子系统源码+数据库+系统+lw文档+部署
- cad详图怎么画_菜鸟入门必备:结构图如何根据建筑图绘制?【CAD】
- 血泪 1password
- Mac 卸载自带程序(图文并茂)
- 解决IE自动关闭故障一例(转)
- 最新首发自助建站系统源码,傻瓜式一键建站系统源码,高度开源支持专业在线自助建站服务平台软件