Java BufferedImage to Transparent makeColorTransparent(BufferedImage im, final Color color)

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

Description

make Color Transparent

License

Open Source License

Declaration

public static Image makeColorTransparent(BufferedImage im, final Color color) 

Method Source Code


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

import java.awt.Color;

import java.awt.Image;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.awt.image.FilteredImageSource;
import java.awt.image.ImageFilter;
import java.awt.image.ImageProducer;
import java.awt.image.RGBImageFilter;

public class Main {
    public static Image makeColorTransparent(BufferedImage im, final Color color) {
        ImageFilter filter = new RGBImageFilter() {

            public int markerRGB = color.getRGB() | 0xFF000000;

            public final int filterRGB(int x, int y, int rgb) {
                if ((rgb | 0xFF000000) == markerRGB) {
                    return 0x00FFFFFF & rgb;
                } else {
                    return rgb;
                }// w w w. ja v  a 2 s.  c  om
            }
        };
        ImageProducer ip = new FilteredImageSource(im.getSource(), filter);
        return Toolkit.getDefaultToolkit().createImage(ip);
    }
}

Related

  1. getTransparentImage(BufferedImage i)
  2. getTransperentImage(BufferedImage origImage, BufferedImage compImg)
  3. makeColorTransparent(BufferedImage im, final Color color)
  4. makeColorTransparent(BufferedImage image, Color color)
  5. makeColorTransparent(final BufferedImage im, final Color color)
  6. makeColorTransparent(final BufferedImage im, final Color colorToMakeTransparent, final int tolerance)