Android 颜色渲染 SweepGradient扫描/梯度渲染

SweepGradient

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

    public SweepGradient(float cx, float cy, int[] colors, float[] positions)
    Parameters:
    cx
    渲染中心点x 坐标

    cy
    渲染中心y 点坐标

    colors
    围绕中心渲染的颜色数组,至少要有两种颜色值

    positions
    相对位置的颜色数组,可为null,  若为null,可为null,颜色沿渐变线均匀分布

    public SweepGradient(float cx, float cy, int color0, int color1)
    Parameters:
    cx
    渲染中心点x 坐标

    cy
    渲染中心点y 坐标

    color0
    起始渲染颜色

    color1
    结束渲染颜色

代码演示

    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);  
}  
  
  
@Override  
protected void onDraw(Canvas canvas) {  
    super.onDraw(canvas);  
      
     // 绘制梯度渐变    
    mPaint.setShader(mSweepGradient);    
      
    canvas.drawCircle(240, 360, 200, mPaint);  
}  

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,834评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,262评论 4 61
  • 小学初中高中直到高二,都是那么一路玩过来,红颜色蓝颜色的丝绒布挡住的游戏厅,各种网吧18岁以下禁止入内,5毛钱一...
    chriso阅读 321评论 0 1
  • 姓名:母光艳 公司:宁波贞观电器 第235期,利他二组 【日精进打卡第170天】 【知-学习】 诵读《六项精进》大...
    母光焱阅读 141评论 0 0
  • 不动于声不动于色无困于心无困于情难呐~
    水一慧心阅读 346评论 0 0