2011-03-09 85 views
0

我想在圖像上創建一個「發光」效果。在黑暗中它幾乎工作,但明亮的圖像,你可以看到像一個灰色的矩形,如下面的圖像所見:android圖像漸變

image gradient effect

這裏是我的代碼:

public static Bitmap drawModifiedImage(Bitmap bitmap) { 
    Canvas bigCanvas = new Canvas(bitmap); 
    Bitmap b = Bitmap.createBitmap(bitmap.getWidth(), 20, Bitmap.Config.ARGB_8888); 
    Canvas c = new Canvas(b); 
    c.drawColor(Color.TRANSPARENT); 
    LinearGradient grad = new LinearGradient(bitmap.getWidth()/2, 0, bitmap.getWidth()/2, 20, Color.WHITE, Color.TRANSPARENT, Shader.TileMode.CLAMP); 
    Paint p = new Paint(); 
    p.setStyle(Paint.Style.FILL); 
    p.setShader(grad); 
    c.drawRect(0, 0, bitmap.getWidth(), 20, p); 
    bigCanvas.drawBitmap(bitmap, 0, 0, null); 
    bigCanvas.drawBitmap(b,0,0, null); 
    return bitmap; 
} 

我在做什麼錯誤?

回答

2

我找到了答案。代替Color.TRANSPARENT,我用0X00FFFFFF:

LinearGradient grad = new LinearGradient(bitmap.getWidth()/2, 0, bitmap.getWidth()/2, 20, Color.WHITE, 0X00FFFFFF, Shader.TileMode.CLAMP); 
+0

是不是0X00FFFFFF白色? – Wayner 2011-03-09 11:00:27

+0

是的,但它是透明的 – 2011-03-09 13:27:16