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í
- Cómo dibujar una cadena Spanned con Canvas.drawText en Android
- superposición de texto de pintura de Android
- Android: ¿es Paint.breakText (...) impreciso?
- Nueva línea al pintar un texto en una imagen
- Android: measureText () Retorno de píxeles basados en píxeles escalados
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
- Tratando de crear una pintura de borrador para lienzo
- Problema con la pintura de Android en diferentes API
- Dibujar la línea en la pintura de los dedos quitar la imagen dibujada previamente
- Cambiar el color en Paint and Canvas en Android
- Significado de algunas constantes de Paint en Android
- Lona de Android - Dibuja un agujero
- ¿Cómo configurar un filtro de color para XWalkView? (Resuelto)
Estos dos enfoques pueden resolver su problema:
-
Coloque un rectángulo oscuro detrás de su mapa de bits y establezca la opacidad del mapa de bits.
-
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); }