Java by API/java.awt.image/RGBImageFilter

Материал из Java эксперт
Перейти к: навигация, поиск

extends RGBImageFilter

   <source lang="java">

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.jexp.ru", 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;
 }

}

      </source>