扫描渲染

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

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 结束渲染颜色

效果图:          

代码:

mainactivity:

package com.tony.testshader;
import android.os.bundle;
import android.app.activity;
import android.graphics.bitmap;
import android.graphics.bitmapfactory;
import android.view.menu;
import android.widget.seekbar;
import android.widget.seekbar.onseekbarchangelistener;
public class mainactivity extends activity  implements onseekbarchangelistener{
    private sweepgradientview sweepgradientview;
    @override
    protected void oncreate(bundle savedinstancestate) {
        super.oncreate(savedinstancestate);
        sweepgradientview = new sweepgradientview(mainactivity.this);
        setcontentview(sweepgradientview);
    }
    @override
    public boolean oncreateoptionsmenu(menu menu) {
        getmenuinflater().inflate(r.menu.main, menu);
        return true;
    }
}

sweepgradientview:

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);
    }
    @override
    protected void ondraw(canvas canvas) {
        super.ondraw(canvas);
         // 绘制梯度渐变  
        mpaint.setshader(msweepgradient);  
        canvas.drawcircle(240, 360, 200, mpaint);
    }
}

以上就是android颜色处理sweepgradient扫描及梯度渲染示例的详细内容,更多关于android颜色处理sweepgradient扫描梯度渲染的资料请关注其它相关文章!