2011-04-25 185 views
0

在我的代碼:如何繪製透明漸變色

paint.setColor(Color.GRAY); 
paint.setAlpha(80); 
canvas.drawPath(getPath2(), paint); 

public static Path getPath2() 
{ 
    Path mPath2 = new Path(); 



    mPath2.moveTo(pta2.x, pta2.y); 
    mPath2.lineTo(pta.x, pta.y); 

    mPath2.lineTo(ptb.x, ptb.y); 

    mPath2.quadTo(ptl.x, ptl.y, ptd.x, ptd.y); 

    mPath2.close(); 
    return mPath2; 
} 
你知道我的油漆畫一個灰色

,它不是透明的,並且逐步改變,我DONOT知道我是否應該使用paint.setColorFilter,你可以告訴我該怎麼辦

回答

3
Paint paint = new Paint(); 
paint.setStyle(Style.FILL); 
LinearGradient gradient = new LinearGradient(fromx, fromy, tox, toy, new int[]{color1, color2, color3}, new float[]{0, 0.6f, 1}, TileMode.CLAMP); 
paint.setShader(gradient); 
canvas.drawPath(getPath2(), paint); 
+0

是你的其他方法,在你的方法中有fromx,fromy,tox,toy,因爲我的路徑是動態變化的。 – pengwang 2011-04-25 11:02:11

+0

上面的代碼只是一個示例,fromx fromy tox玩具指示應該應用漸變的方向。通過調用Path類的computeBounds可以獲得路徑邊界 – 2011-04-25 11:18:01