Make a color transparentTag(s): AWT
Here we have an Image with a blue background like
 and we want to display it in 
an Applet  with a white background. All we have to do is to look for the blue color with the
"Alpha bits" set to opaque and make them transparent.
 and we want to display it in 
an Applet  with a white background. All we have to do is to look for the blue color with the
"Alpha bits" set to opaque and make them transparent.[Transparency.java]
import java.awt.*;
import java.awt.image.*;
public class Transparency {
  public static Image makeColorTransparent
    (Image im, final Color color) {
    ImageFilter filter = new RGBImageFilter() {
      // the color we are looking for... Alpha bits are set to opaque
      public int markerRGB = color.getRGB() | 0xFF000000;
      public final int filterRGB(int x, int y, int rgb) {
        if ( ( rgb | 0xFF000000 ) == markerRGB ) {
          // Mark the alpha bits as zero - transparent
          return 0x00FFFFFF & rgb;
          }
        else {
          // nothing to do
          return rgb;
          }
        }
      }; 
    ImageProducer ip = new FilteredImageSource(im.getSource(), filter);
    return Toolkit.getDefaultToolkit().createImage(ip);
    }
}import java.awt.image.*;
import java.awt.*;
import java.net.*;
public class app extends java.applet.Applet {
  Image GifOriginalWithWithBlueBackground;
  Image GifModifiedWithTransparentBackground;
  public void init() {
    setBackground(new Color(0).white);  
  
    MediaTracker media = new MediaTracker(this);
    // image of our friend, Gumby with a blue background
    GifOriginalWithWithBlueBackground = 
       getImage(getDocumentBase(),"gumbyblu.gif");
    media.addImage(GifOriginalWithWithBlueBackground,0);
    try {
      media.waitForID(0);
      GifModifiedWithTransparentBackground = 
       Transparency.makeColorTransparent
        (GifOriginalWithWithBlueBackground, new Color(0).blue);
      } 
    catch(InterruptedException e) {}
    }
  public void paint(Graphics g) {
    g.drawImage(GifOriginalWithWithBlueBackground, 10,10,this);
    g.drawImage(GifModifiedWithTransparentBackground,10, 80,this);
    }
}<HTML><HEAD></HEAD><BODY>
<APPLET CODE="app.class"  
        NAME="myApplet" 
        HEIGHT=200 WIDTH=200>
</APPLET>
</BODY></HTML>
  mail_outline
Send comment, question or suggestion to howto@rgagnon.com
Send comment, question or suggestion to howto@rgagnon.com
