2011-02-25 36 views
8

Tengo una imagen de fondo que ocupa toda la pantalla. Estoy dibujando un lienzo sobre el fondo y estableciendo su color en blanco para que no pueda ver la imagen todavía. Lo que intento lograr es dibujar una forma transparente en el lienzo blanco y hacer que la imagen de fondo muestre dónde está esa forma. Estoy usando SurfaceView e implementando SurfaceView.Callback.dibujar una forma transparente en el lienzo

Respuesta

7

Debe hacer que el color blanco transparente:

public void draw(Canvas canvas) 
{ 
    final RectF rectF = new RectF(); 
    final Paint paint = new Paint(); 
    paint.setARGB(128, 255, 255, 255); 

    rectF.set(0,0, getMeasuredWidth(), getMeasuredHeight()); 

    canvas.drawRect(rectF, paint); 
} 
7

para dibujar de forma transparente seguir este código

Paint paint = new Paint(); 
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.CLEAR)); 

//draw any shape, here I am drawing Rect shape 
Rect rect=new Rect(left, top, right, bottom); 
canvas.drawRect(rect,paint); 
+2

que salir de la zona negro –

Cuestiones relacionadas