Android 色彩渲染(八) SweepGradient扫描/梯度渲染

Android 颜色渲染(八) SweepGradient扫描/梯度渲染Android 颜色处理(八) SweepGradient 扫描/梯度渲染为什

Android 颜色渲染(八) SweepGradient扫描/梯度渲染

Android 颜色处理(八) SweepGradient 扫描/梯度渲染

为什么什么叫扫描渲染呢?  相信大家都看过雷达扫描的效果,尤其是在安全软件中.


Android 色彩渲染(八) SweepGradient扫描/梯度渲染


cx渲染中心点x 坐标cy渲染中心点y 坐标color0起始渲染颜色color1结束渲染颜色


效果图:


                                          Android 色彩渲染(八) SweepGradient扫描/梯度渲染

代码:

MainActivity:

package com.tony.testshader;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Shader;import android.graphics.SweepGradient;import android.util.AttributeSet;import android.view.View;public class SweepGradientView extends View {Paint mPaint = null;      // 梯度渲染      Shader mSweepGradient = null;  public SweepGradientView(Context context) {super(context); // 创建SweepGradient对象          // 第一个,第二个参数中心坐标          // 后面的参数与线性渲染相同          mSweepGradient = new SweepGradient(240, 360, new int[] {Color.CYAN,Color.DKGRAY,Color.GRAY,Color.LTGRAY,Color.MAGENTA,                  Color.GREEN,Color.TRANSPARENT, Color.BLUE }, null);          mPaint = new Paint();  }public SweepGradientView(Context context, AttributeSet attrs) {super(context, attrs);}@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas); // 绘制梯度渐变          mPaint.setShader(mSweepGradient);                  canvas.drawCircle(240, 360, 200, mPaint);}}