LinearGradient线性渲染
来源:互联网 发布:服务器如何开放80端口 编辑:程序博客网 时间:2024/05/29 14:29
学习自:http://blog.csdn.net/q445697127/article/details/7865504
package com.example.demo;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;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(); } @Override protected void onDraw(Canvas canvas) { canvas.drawColor(Color.BLACK);//设置View的背景颜色 // 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); } @Override public void run() { while(!Thread.currentThread().isInterrupted()) { try { Thread.sleep(100); } catch(Exception e) { Thread.currentThread().interrupt(); } postInvalidate(); } }}
完整的工程代码:http://download.csdn.net/download/yegucheng2618/7646623
0 0
- LinearGradient线性渲染
- LinearGradient线性渲染
- LinearGradient线性渲染
- LinearGradient线性渲染
- LinearGradient线性渲染
- LinearGradient线性渲染
- LinearGradient线性渲染
- Android之LinearGradient线性渲染
- Android 颜色渲染(五) LinearGradient线性渲染
- Android 颜色渲染(五) LinearGradient线性渲染
- Android 颜色渲染(五) LinearGradient线性渲染
- Android 颜色渲染 LinearGradient线性渲染
- Android开发 之 线性渲染 LinearGradient
- LinearGradient线性渲染实现绚丽的闪动字效果
- Android--LinearGradient线性渐变
- Android--LinearGradient线性渐变
- LinearGradient实现线性渐变
- LinearGradient(线性渲染器)介绍(实现歌词效果和进度球效果)
- 宝马X5改hamann包围
- 百度地图环境变量配置
- JSON传输图片帮助类
- 使用全局变量传递数据
- 第一个go的web程序;调用七牛云存储的音频api问题解决;条件搜寻文件里的内容,字符串拼接+在上一行
- LinearGradient线性渲染
- 完美支持List与DataTable互转
- 全自动过滤器:全自动自清洗过滤器的优势
- cocos2dx学习笔记(HelloWorld解析)
- Schema简单的类型
- mediawiki使用中遇到的两个问题
- userdefault 存储archivedData ,JSONmodel兼容
- 四款超棒的jQuery数字化签名插件
- Jquery使用笔记