Java BufferedImage Color makeColorTransparent(BufferedImage image, Color color)

Here you can find the source of makeColorTransparent(BufferedImage image, Color color)

Description

Hace que el color seleccionado sea transparente en un BufferedImage

License

Open Source License

Parameter

Parameter Description
bufferedImage la imagen que se desea hacer transparente
color el color que se desea hacer transparente

Return

BufferedImage con el color seleccionado transparente

Declaration

public static BufferedImage makeColorTransparent(BufferedImage image, Color color) 

Method Source Code


//package com.java2s;
//License from project: Open Source License 

import java.awt.*;

import java.awt.image.*;

import javax.swing.*;

public class Main {
    /**//  w ww  .ja  v a2  s.c  om
     * Hace que el color seleccionado sea transparente en un BufferedImage
     *
     * @param bufferedImage la imagen que se desea hacer transparente
     * @param color el color que se desea hacer transparente
     *
     * @return BufferedImage con el color seleccionado transparente
     */
    public static BufferedImage makeColorTransparent(BufferedImage image, Color color) {
        BufferedImage bi = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_ARGB);
        Graphics2D g = bi.createGraphics();
        g.setComposite(AlphaComposite.Src);
        g.drawImage(image, null, 0, 0);
        g.dispose();
        for (int i = 0; i < bi.getHeight(); i++) {
            for (int j = 0; j < bi.getWidth(); j++) {
                if (bi.getRGB(j, i) == color.getRGB()) {
                    bi.setRGB(j, i, 0x8F1C1C);
                }
            }
        }
        return bi;
    }

    /**
     * Obtiene el ancho de una Image
     */
    public static int getWidth(Image imagen) {
        int width = new ImageIcon(imagen).getIconWidth();
        return width;
    }

    /**
     * Obtiene el ancho de un IconImage
     */
    public static int getWidth(ImageIcon imagen) {
        return imagen.getIconWidth();
    }

    /**
     * Obtiene el alto de una Image
     */
    public static int getHeight(Image imagen) {
        int height = new ImageIcon(imagen).getIconHeight();
        return height;
    }

    /**
     * Obtiene el alto de un IconImage
     */
    public static int getHeight(ImageIcon imagen) {
        return imagen.getIconHeight();
    }
}

Related

  1. getUniqueColor(BufferedImage origImg, boolean findLightColor)