Android Canvas 渐变
Android Canvas Gradient
我试着在 Android canvas 上画这个,我有问题...
为什么所有着色器结果只有白色和黑色?没有颜色...
如何为两个以上的点(x,y)设置颜色?
在哪里可以找到显示简单组合使用的示例?
代码:
Shader1 = new LinearGradient(0, 0, 0,BarHeight,0xff696969 ,0xffffffff, Shader.TileMode.CLAMP);
Shader2 = new LinearGradient(BarHeight/2, BarHeight/2, 0,34,0xf0696969 ,0xfff34f5f, Shader.TileMode.CLAMP);
ComposeShader mShader = new ComposeShader(Shader2, Shader1, PorterDuff.Mode.MULTIPLY);
GraundPaint.setShader(mShader);
canvas.drawRoundRect(rectf, 0, 0, GraundPaint);
你可以设置多于2个点通过使用LinearGradient的this constructor,它接受一个颜色数组和相应的位置数组(0到1之间) .
对于使用 LinearGradient 的简单示例,您可以查看here。
我试着在 Android canvas 上画这个,我有问题...
为什么所有着色器结果只有白色和黑色?没有颜色...
如何为两个以上的点(x,y)设置颜色?
在哪里可以找到显示简单组合使用的示例?
代码:
Shader1 = new LinearGradient(0, 0, 0,BarHeight,0xff696969 ,0xffffffff, Shader.TileMode.CLAMP);
Shader2 = new LinearGradient(BarHeight/2, BarHeight/2, 0,34,0xf0696969 ,0xfff34f5f, Shader.TileMode.CLAMP);
ComposeShader mShader = new ComposeShader(Shader2, Shader1, PorterDuff.Mode.MULTIPLY);
GraundPaint.setShader(mShader);
canvas.drawRoundRect(rectf, 0, 0, GraundPaint);
你可以设置多于2个点通过使用LinearGradient的this constructor,它接受一个颜色数组和相应的位置数组(0到1之间) .
对于使用 LinearGradient 的简单示例,您可以查看here。