Cambiar la intensidad de clarear / oscurecer en mapas de bits mediante PorterDuffXfermode en la clase Paint de Android

Ok mi pregunta original ha cambiado. ¿Cómo puedo cambiar la intensidad de cómo se realiza algo como esto?

DayToNight.setXfermode(new PorterDuffXfermode(Mode.DST_IN)); 

en mi mundo de sueños habría funcionado así

  DayToNight.setXfermode(new PorterDuffXfermode(Mode.DST_IN(10))); 

siendo el 10 un nivel de intensidad.


Un ejemplo sería si tuviera una vela parpadeante, cuando la vela quema brillante Quiero que los mapas de bits que estoy dibujando a la pantalla para conservar su color y brillo de origanol, cuando parpadea Quiero los mapas de bits para ser casi apagado, y quiero para oscurecer los mapas de bits como la luz se atenúa.

Tengo ecuaciones, temporizadores y todo lo que se imaginó, no sólo cómo aplicarlo para cambiar el color / brillo. Tal vez quemar las imágenes es lo que estoy buscando? Sólo quiero cambiar la ligereza lol.

Siento que usar paint.setShader puede ser una solución, pero la información en esta área es bastante limitada de lo que he podido encontrar. Cualquier ayuda sería apreciada.

editar: para ser cristalino, estoy buscando una manera de aclarar / oscurecer los mapas de bits como los dibujo en el lienzo

Estos dos enfoques pueden resolver su problema:

  1. Coloque un rectángulo oscuro detrás de su mapa de bits y establezca la opacidad del mapa de bits.

  2. Utilice ColorFilter en su pintura cuando dibuja el mapa de bits. Para oscurecer el mapa de bits utilice un color negro semi-transparente

Hey he utilizado una especie de truco para eliminar la línea negra.En mi botón de borrar, he establecido el color a blanco, en lugar de utilizar XferMode .. Funciona y se ve bien ..

 if(erase){ paintColor = Color.parseColor(newColor); drawPaint.setColor(paintColor); } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.