Android无法在画布上绘制透明矩形

时间:2012-07-02 22:28:14

标签: android graphics

使用透明背景绘制并绘制线条。 然而,它绘制黑色矩形而不是透明。 如果我将颜色更改为红色,它可以正常工作。 所以我猜这是透明的问题。

       drawPoints[currentpoint*4+0] = 0; 
       drawPoints[currentpoint*4+1] = 10;
       drawPoints[currentpoint*4+2] = 20; 
       drawPoints[currentpoint*4+3] = 40;

        Canvas mCanvas = sfh.lockCanvas(new Rect(10,20,50,100));
        mCanvas.drawColor(Color.TRANSPARENT);           
        mCanvas.drawLines(drawPoints,mPaint);
        sfh.unlockCanvasAndPost(mCanvas);

为什么它会变黑?

3 个答案:

答案 0 :(得分:7)

如果您想要透明度,可以尝试:

mPaint.setAlpha(100);

或0到255之间的某个值。

希望有所帮助。

答案 1 :(得分:0)

您希望将Paint对象的颜色设置为Color.TRANSPARENT,而不是画布的颜色。所以试试

mPaint.setColor(Color.TRANSPARENT);

答案 2 :(得分:0)

我在互联网上找到这个,我认为可行的

Paint pincel1=new Paint();
paint.setARGB(255,255,0,0);

canvas.drawRect(10,10,ancho-10,40,pincel1);

pincel1.setStyle(Style.STROKE);
canvas.drawRect(10,60,ancho-10,90,pincel1);

pincel1.setStrokeWidth(3);
canvas.drawRect(10,110,ancho-10,140,pincel1);

image http://www.javaya.com.ar/androidya/imagentema/foto137.jpg

javaya.com/ar 代码

code