import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.LinearGradient;
import android.graphics.Paint;
import android.graphics.Shader;
import android.view.View;/*** @version 2012-8-14 上午10:45:28**/
public class myGameView extends View implements Runnable {int bitwidth = 0;int bitheight = 0;Paint mPaint = null;// 线性渐变渲染Shader mLinearGradient1 = null;// 线性渐变渲染Shader mLinearGradient2 = null;// 线性渐变渲染Shader mLinearGradient3 = null;public myGameView(Context context) {super(context);// 创建LinearGradient并设置渐变颜色数组// 第一个,第二个參数表示渐变起点 能够设置起点终点在对角等任何位置// 第三个,第四个參数表示渐变终点// 第五个參数表示渐变颜色// 第六个參数能够为空,表示坐标,值为0-1 new float[] {0.25f, 0.5f, 0.75f, 1 }// 假设这是空的,颜色均匀分布,沿梯度线。// 第七个表示平铺方式// CLAMP反复最后一个颜色至最后// MIRROR反复着色的图像水平或垂直方向已镜像方式填充会有翻转效果// REPEAT反复着色的图像水平或垂直方向mLinearGradient1 = new LinearGradient(0, 0, 0, 100, new int[] {Color.RED, Color.GREEN, Color.BLUE, Color.WHITE }, null,Shader.TileMode.CLAMP);mLinearGradient2 = new LinearGradient(0, 0, 0, 100, new int[] {Color.RED, Color.GREEN, Color.BLUE, Color.WHITE }, null,Shader.TileMode.MIRROR);mLinearGradient3 = new LinearGradient(0, 0, 0, 100, new int[] {Color.RED, Color.GREEN, Color.BLUE, Color.WHITE }, null,Shader.TileMode.REPEAT);mPaint = new Paint();new Thread(this).start();}@Overrideprotected void onDraw(Canvas canvas) {// LinearGradient的高度仅仅有100而绘制的矩形有200所以才会有反复// 假设高度两者同样clamp反复是看不出效果的Paint paint = new Paint();paint.setTextSize(20);paint.setColor(Color.WHITE);// 绘制渐变的矩形mPaint.setShader(mLinearGradient1);canvas.drawRect(0, 0, 200, 200, mPaint);canvas.drawText("CLAMP", 0, 200 + 20, paint);// 绘制渐变的矩形mPaint.setShader(mLinearGradient2);canvas.drawRect(0, 250, 200, 450, mPaint);canvas.drawText("MIRROR", 0, 450 + 20, paint);// 绘制渐变的矩形mPaint.setShader(mLinearGradient3);canvas.drawRect(0, 500, 200, 700, mPaint);canvas.drawText("REPEAT", 0, 700 + 20, paint);}@Overridepublic void run() {while(!Thread.currentThread().isInterrupted()) {try {Thread.sleep(100);}catch(Exception e) {Thread.currentThread().interrupt();}postInvalidate();}}
}

效果图

转载于:https://www.cnblogs.com/bhlsheji/p/4268017.html

LinearGradient线性渲染相关推荐

  1. Android 颜色渲染(五) LinearGradient线性渲染

    版权声明:本文为博主原创文章,未经博主允许不得转载. Android 颜色处理(五) LinearGradient线性渲染 相信很多人都看过歌词同步的效果, 一是竖直方向的滚动,另一方面是水平方面的歌 ...

  2. Android 颜色渲染 LinearGradient线性渲染

    转载地址 LinearGradient我们可以将之译为线型渐变.线型渲染等,译成什么不重要,重要的是它的显示效果是什么样子,今天我们就一起来看看. 先来看看LinearGradient的构造方法: [ ...

  3. 【Android UI】Paint Gradient 渐变渲染 ① ( LinearGradient 线性渐变渲染 | 设置渲染方向 | 设置渲染颜色 | 设置渲染模式 | MIRROR )

    文章目录 一.LinearGradient 线性渐变渲染 1.设置 2 个颜色的渐变 3.设置多个颜色的渐变 二.LinearGradient 线性渐变渲染重要参数分析 1.正常渲染 2.设置多个渐变 ...

  4. Android开发 之 线性渲染 LinearGradient

    线性渲染LinearGradient LinearGradient有两个构造函数 第一个: public LinearGradient(float x0, float y0, float x1, fl ...

  5. 安卓图形绘制- LinearGradient 线性梯度

    LinearGradient 线性渐变(线性梯度),用来实现在线的直线渐变,这个线是可以是直线竖线或者斜线 构造方法 public LinearGradient(float x0, float y0, ...

  6. CSS3 linear-gradient线性渐变实现虚线等简单实用图形

    一.作为图片存在的CSS3 gradient渐变 我觉得CSS3 Backgrounds比较厉害的一个地方就是支持多背景,也就是背景图片个数可以无限累加,正好CSS3的gradient渐变性质是 ba ...

  7. html语言加号点一下变成减号6,CSS3 linear-gradient线性渐变生成加号和减号的方法...

    在商城项目中,购物车是一个很重要的功能.其中最常见的是购物车中对库存的"+-"操作,包括抢购后面有很多算法.但是作为前端来说,购物车的结算中的+-就是一个计算而已.传统的实现方式是 ...

  8. Unity之线性渲染器

    最近再做一个光线类的小游戏,时间不太够写算法的,但是不能断对算法的研究,周六日补吧~ 今天说说写光线的时候遇到的一个问题,在使用LineRender组件的时候,一旦在顶点数组中多加一个点从而增加一条线 ...

  9. CSS 的 linear-gradient() 线性渐变函数(带例子)

    一.CSS中的 linear-gradient() 函数: 1.定义与用法:(定义部分取自菜鸟教程) linear-gradient() 函数用于创建一个线性渐变的" 图像 ". ...

最新文章

  1. 在Mybatis3开发中与配置相关的7点体会
  2. 松下SW-9585-C全功能DVD刻录机 狂降100+享受专业刻录!
  3. Struts2第十一篇【简单UI标签、数据回显】
  4. resultset rs =pst.executequery();发生异常_07795.14.4HMaster无法成为Active异常分析
  5. 接口方法和映射器的statement id 是怎么绑定起来的?
  6. Moodle网站档案的结构
  7. linux7telnet测试通是提示如何,如何优雅的使用telnet测试端口连通性
  8. Chapter 1 First Sight——13
  9. 【100个 Unity小知识点】☀️ | Unity 可以在编辑器中读取Excel,打包成exe后就无法读取的问题
  10. SpringBoot -- 抱团学习社区系统项目实战
  11. 刮刮乐微信html5源码,微信小程序canvas实现刮刮乐效果
  12. Google Earth Engine 教程——栅格矢量数据转化和导出
  13. Linux文件、目录
  14. python实验猜数游戏
  15. 用C实现Lenet的总结
  16. js创建json数据并保存
  17. Java遍历包中所有类
  18. linux之文件管理
  19. 【Node.js+koa--后端管理系统】项目初始化搭建
  20. word整个表格首行缩进_教师计算机技术水平考核word题集(二)

热门文章

  1. php mysql事务处理回滚操作
  2. mahout 算法集
  3. gdb调试之堆栈跟踪
  4. Cubieboard ARM 集群
  5. mybaits二十九:mybatis工作原理以及源码分析
  6. 拉格朗日乘数法学习笔记
  7. 邮件服务器软件EwoMail 1.05 发布
  8. 《编译与反编译技术实战》——第2章编译器实践概述
  9. 在Docker中运行Dubbo应用
  10. 学习日志---哈夫曼树相关算法