Java by API/java.awt.image/LookupOp — различия между версиями

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

Текущая версия на 14:22, 31 мая 2010

new LookupOp(LookupTable lookup, RenderingHints hints)

import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.awt.image.BufferedImageOp;
import java.awt.image.LookupOp;
import java.awt.image.ShortLookupTable;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class MainClass extends JPanel {
  public void paint(Graphics g) {
    short[] invert = new short[256];
    for (int i = 0; i < invert.length; i++)
      invert[i] = (short) (255 - i);
    BufferedImageOp invertOp = new LookupOp(new ShortLookupTable(0, invert), null);
    BufferedImage clone = invertOp.filter(createImage(), null);
    g.drawImage(clone, 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);
  }
  
  
}