Seleccionar página

Hacer transparente un color de una imagen en Java

Hace poco publiqué un artículo para hacer la rotación de una imagen en Java. Como consecuencia de hacer una rotación habrá zonas de la imagen que queden en negro puesto que aunque la imagen esté rotada seguirá estando encerrada dentro de un rectángulo. En este tutorial veremos como hacer transparente esa zona de negro.

Lo que necesitamos es que determinado color de una imagen se convierta en transparente. Hay que tener en cuenta que la zona de no datos de la imagen debe tener un color que no aparezca mucho en la imagen porque también se convertirá a transparente. Se suele usar o el negro o el blanco para esta tarea.

Para hacer transparente un color de una imagen en Java hay que tener en cuenta que el BufferedImage de destino ha de ser del tipo TYPE_INT_ARGB.

Luego lo que hemos de hacer es crear un objeto del tipo RGBImageFilter en el que sobreescribiremos el método filterRGB.

Lo que haremos será identificar el color que se quiere hacer como transparente y posteriormente el filtro comprobará cada pixel de la imagen y si coincide con la marca lo hará transparente.

Esto lo pueden poner dentro de una clase como la que les muestro a continuación, o también se podría haber hecho con un simple método estático.

Ahora cada vez que quieran hacer transparente un determinado color de una imagen dentro de su programa solo tendrán que hacer lo que se muestra a continuación.

Y si quieren guardar la imagen en formato PNG que es un formato de imagen que admite transparencia será algo tan sencillo como usar la clase ImageIO de Java.

Con esto quedaría todo resuelto y ya tienen una manera de hacer transparente un color de una imagen en Java.


Por mi parte no tengo nada más que mostraros en esta guía, solo espero que os haya sido de utilidad y digo lo mismo de siempre, si tenéis alguna duda no dudéis en dejar un comentario.

Centro de preferencias de privacidad

Cookies imprescindibles

No se captura IPs ni siquiera para el servicio de Analytics así que tu visita es privada.

gdpr

Advertising

Analytics

Cookies de terceros

Usamos cookies de terceros con servicios, también garantes de tu privacidad, que analizan tus usos de navegación para que podamos mejorar los contenidos, si ya estás suscrito al boletín y los elementos compartidos en redes sociales y el formulario de comentarios.

_gid,_gat,_ga
1P_JAR, CONSENT, NID, OGPC
disqus_unique, disqusauth

Pin It on Pinterest

Share This