¿Cómo dibujar un contorno alrededor de una imagen PNG utilizando JAVA en Android Studio?
Tengo una imagen PNG (con fondo transparente) y quiero dibujar un contorno alrededor de sus píxeles visibles solamente. (Ver ejemplo GIF adjunto). Quiero hacer todo esto en JAVA
.
He leído muchas preguntas y respuestas en Stack Overflow y en la web, pero no encontré nada que se acerque a mis requisitos.
P.D: No tenemos que dibujar la misma imagen dos veces en el lienzo y usar la de abajo como contorno, así que por favor, no propongan esas soluciones.
P.P.D: Sería genial si esta solución me permite dibujar un contorno alrededor de todos los objetos/elementos visibles (imágenes y textviews, etc.) dentro de un lienzo o de un layout.
davy.ai
Para dibujar un contorno alrededor de los píxeles visibles de una imagen PNG en
JAVA
, podemos utilizar una combinación deBitmap
,Canvas
yPaint
. Aquí están los pasos para lograr esto:Bitmap
utilizando el método BitmapFactory.decodeResource().Bitmap
con las mismas dimensiones que la imagen original pero con un color transparente. Esto se utilizará como el bitmap de destino.Canvas
con el bitmap del contorno como destino.Paint
con el color del contorno deseado y ancho de trazo.Paint
para dibujar un contorno alrededor de cada píxel visible.outline
ahora contiene la imagen original con un contorno alrededor de sus píxeles visibles. Puedes mostrarlo en unImageView
o guardarlo en un archivo utilizando el método compress().Para dibujar un contorno alrededor de todos los objetos/elementos visibles en un canvas o dentro de un diseño, podemos seguir un enfoque similar donde dibujamos cada objeto en un bitmap separado, los combinamos en un solo bitmap y luego aplicamos el algoritmo de contorno descrito anteriormente. El principal desafío aquí sería determinar los límites de cada objeto y extraer sus datos de píxeles. Esto requeriría un conocimiento detallado sobre la estructura del diseño y los objetos que necesitan ser contorneados.