RadialGradient环形渲染

来源:互联网 发布:十面埋伏音乐知乎 编辑:程序博客网 时间:2024/05/21 01:32

public RadialGradient(float x, float y, float radius, int[] colors, float[] positions,Shader.TileMode tile)

float x:  圆心X坐标

float y:  圆心Y坐标

float radius: 半径

int[] colors:  渲染颜色数组

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

Shader.TileMode tile:渲染器平铺模式


public RadialGradient(float x, float y, float radius, int color0, int color1,Shader.TileMode tile)

float x:  圆心X坐标

float y:  圆心Y坐标

float radius: 半径

int color0: 圆心颜色

int color1: 圆边缘颜色

Shader.TileMode tile:渲染器平铺模式


主要代码:

public class RadialGradientActivity extends Activity {    ImageView image,image2,image3,image4;    int width,height;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        image = (ImageView) findViewById(R.id.image);        image2 = (ImageView) findViewById(R.id.image2);        image3 = (ImageView) findViewById(R.id.image3);        image4 = (ImageView) findViewById(R.id.image4);        width = ValueUtil.dp2px(this, 120);        height = ValueUtil.dp2px(this, 120);        Bitmap bitmapTemp = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);        Canvas canvas = new Canvas(bitmapTemp);        RadialGradient mShader = new RadialGradient(width/2, height/2,height/2, new int[]{                Color.RED, Color.GREEN, Color.BLUE},                null, Shader.TileMode.MIRROR);        Paint paint = new Paint();        paint.setShader(mShader);        canvas.drawCircle(width/2, height/2,height/2,paint);        image.setImageBitmap(bitmapTemp);        Bitmap bitmapTemp2 = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);        Canvas canvas2 = new Canvas(bitmapTemp2);        RadialGradient mShader2 = new RadialGradient(width/2, height/2,height/2, new int[]{                Color.RED, Color.GREEN, Color.BLUE},                null, Shader.TileMode.MIRROR);        Paint paint2 = new Paint();        paint2.setShader(mShader2);        canvas2.drawCircle(width / 2, height / 2 + 50, height / 2, paint2);        image2.setImageBitmap(bitmapTemp2);        Bitmap bitmapTemp3 = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);        Canvas canvas3 = new Canvas(bitmapTemp3);        RadialGradient mShader3 = new RadialGradient(width/2, height/2, 48,                new int[] { 0x88ffffff, Color.TRANSPARENT },new float[]{0.01f,0.99f}, Shader.TileMode.REPEAT);        Paint paint3 = new Paint();        paint3.setShader(mShader3);        canvas3.drawRect(new RectF(0, 0, width, height), paint3);        image3.setImageBitmap(bitmapTemp3);        image3.setBackgroundResource(R.drawable.tupian);    }}

效果图:




参考资料:http://blog.csdn.net/t12x3456/article/details/10419211

http://blog.csdn.net/t12x3456/article/details/10711779


源码:http://yunpan.cn/c3f2qgcVtNSwP (提取码:2ccf)



0 0
原创粉丝点击