两个渐变的组成

时间:2017-01-17 07:31:33

标签: android shader gradient

我试图制作两个渐变的组合。

int startColor = 0x0000ff00;
int endColor = 0xff00ff00;
float angle = 45f;

渐变1:

SweepGradient sweepGradient = new SweepGradient(d/2, d/2, new int[]{startColor, endColor, endColor}, new float[]{0, angle/360f, 1f});

enter image description here

渐变2:

RadialGradient radialGradient = new RadialGradient(d/2, d/2, d/2, startColor, endColor, Shader.TileMode.CLAMP);

enter image description here

结果:

ComposeShader composeShader = new ComposeShader(sweepGradient, radialGradient, PorterDuff.Mode.MULTIPLY);

enter image description here

我希望结果的alpha是乘法为1和2 alpha。例如,扫描的上边缘应该是褪色,就像1.为什么它是尖锐的?

出了什么问题?

解决!

感谢pskink, 添加setLayerType(View.LAYER_TYPE_SOFTWARE, null)可以解决问题。

0 个答案:

没有答案