Java: Exemple d’image en relief avec la classe Kernel

Author:

 classe, set, stack, swing, awt, JPanel, JFrame
Download

import java.awt.image.BufferedImage;
import java.awt.image.BufferedImageOp;
import java.awt.image.ConvolveOp;
import java.awt.image.Kernel;
import java.awt.Image;
import java.awt.image.BufferedImage;
import javax.swing.ImageIcon;
 
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.imageio.ImageIO;
import java.io.*;
 
 
public class ImageRelief extends JPanel 
{
 
	  public void paint(Graphics g) 
  {
    try 
    	{
 
     BufferedImage monImage=null;
 
        monImage = ImageIO.read(new File("c:/image.gif"));
      BufferedImage filteredImage = new BufferedImage(monImage.getWidth(null), monImage
          .getHeight(null), BufferedImage.TYPE_BYTE_GRAY);
 
      Graphics gs = filteredImage.getGraphics();
      gs.drawImage(monImage, 400, 200, null);
 
     Kernel kernel = new Kernel(3, 3, new float[] { -2, 0, 0, 0, 1, 0, 0, 0, 2 });
 
      BufferedImageOp blur = new ConvolveOp(kernel);
      monImage = blur.filter(monImage, null);
      gs.dispose();
 
      Graphics2D g2d = (Graphics2D) g;
      g2d.drawImage(monImage, null, 3, 3);
    } catch (Exception ex) 
    {
      ex.printStackTrace();
    }
  }
  public static void main(String[] argv) throws Exception 
  {
 
    JFrame frame = new JFrame("Image travailler en relief");
    frame.add(new ImageRelief());
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(400,400);
    frame.setLocationRelativeTo(null);
    frame.setVisible(true);
 
  }
}