
{filelink=10285}
import java.awt.image.*;
import java.io.*;
import javax.swing.*;
import javax.imageio.*;
import java.awt.*;
public class ImagePointillee 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);
// Le kernel qui taille l'image en pointe
Kernel kernel = new Kernel(3, 3, new float[] { -1, -1, -1, -1, 9, -1, -1,
-1, -1 });
BufferedImageOp imageFloue = new ConvolveOp(kernel);
monImage = imageFloue.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("Affichage d'image taillée en pointe");
frame.add(new ImagePointillee());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(400,400);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
}