Cambio de lienzo de Android algunos píxeles de color

Tengo un objeto Canvas al inicio. Necesito cambiar el color de algunos pixeles dependiendo de su color actual. ¿Cómo puedo hacer eso de una manera apropiada?

Detalles:

Tengo mi propia clase extendida de ImageView . En el onDraw(Canvas canvas) dibujo algo con una clase de terceros y solo tengo un objeto Canvas con resultado. Necesito después de que cambie el color de algunos pixeles dependiendo de su color actual.

Suponiendo que tiene el objeto android.graphics.Canvas denominado canvas y X e Y son puntos en los que desea cambiar píxeles, así que aquí tienes

Llamada :

 canvas.drawPoint(X, Y, paint); 

Aquí está cómo usted initalize el objeto de la clase android.graphics.Paint es decir la pintura

 Paint paint = new Paint(); paint.setStyle(Paint.Style.FILL); paint.setColor(Color.WHITE); 

Busca más en este enlace para cambiar varios píxeles en diferentes posiciones, hay muchas funciones que te ayudarán a lograr lo que quieres. La mejor de las suertes 🙂

Probablemente hay una docena de maneras de hacer esto. Si desea realizar el método Canvas, hay una forma de dibujar un objeto Bitmap. A continuación, puede dibujar el objeto a otro lienzo. El objeto Bitmap también puede tener funciones para modificar píxeles.

Bitmap también le permite obtener una copia en un búfer, y si sabe cómo se almacenan los píxeles, sería una forma muy rápida de manipulación de imágenes. No estoy seguro de si Canvas tiene eso

Recomiendo que busque una forma más rápida de establecer un color de mapa de bits (PNG) en lugar de píxel por píxel . Tiene código para obtener y establecer colores de mapa de bits píxel a píxel (en la pregunta), así como una sugerencia para una alternativa a un enfoque píxel por píxel (en la respuesta). También posiblemente útil: Explicación del método getPixels para un mapa de bits en Android .

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.