Mega Code Archive

 
Categories / Java by API / Java Awt Image
 

Extends RGBImageFilter

import java.awt.Graphics; import java.awt.Image; import java.awt.image.BufferedImage; import java.awt.image.FilteredImageSource; import java.awt.image.RGBImageFilter; import javax.swing.JFrame; import javax.swing.JPanel; public class MainClass extends JPanel {   public void paint(Graphics g) {     NegativeFilter nf = new NegativeFilter();     Image i = createImage(new FilteredImageSource(createImage().getSource(), nf));     g.drawImage(i, 20, 20, this);   }   private BufferedImage createImage() {     BufferedImage bufferedImage = new BufferedImage(200, 200, BufferedImage.TYPE_INT_RGB);     Graphics g = bufferedImage.getGraphics();     g.drawString("www.rntsoft.com", 20, 20);     return bufferedImage;   }   public static void main(String[] args) {     JFrame frame = new JFrame();     frame.getContentPane().add(new MainClass());     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     frame.setSize(200, 200);     frame.setVisible(true);   } } class NegativeFilter extends RGBImageFilter {   public NegativeFilter() {     canFilterIndexColorModel = true;   }   public int filterRGB(int x, int y, int rgb) {     return rgb ^ 0x00ffffff;   } }