Mega Code Archive

 
Categories / Java / Advanced Graphics
 

Blur our image

import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.awt.image.BufferedImageOp; import java.awt.image.ConvolveOp; import java.awt.image.Kernel; import javax.imageio.ImageIO; import javax.swing.JFrame; import javax.swing.JPanel; public class BlurredImage extends JPanel {   public void paint(Graphics g) {     try {       BufferedImage myImage = ImageIO.read(this.getClass().getResource("redrock.png"));       BufferedImage filteredImage = new BufferedImage(myImage.getWidth(null), myImage           .getHeight(null), BufferedImage.TYPE_BYTE_GRAY);       Graphics g1 = filteredImage.getGraphics();       g1.drawImage(myImage, 400, 200, null);       float[] blurKernel = { 1 / 9f, 1 / 9f, 1 / 9f, 1 / 9f, 1 / 9f, 1 / 9f, 1 / 9f, 1 / 9f, 1 / 9f };       BufferedImageOp blur = new ConvolveOp(new Kernel(3, 3, blurKernel));       myImage = blur.filter(myImage, null);       g1.dispose();       Graphics2D g2d = (Graphics2D) g;       g2d.drawImage(myImage, null, 3, 3);     } catch (Exception e) {     }   }   public static void main(String[] args) {     JFrame frame = new JFrame("Blurred Image");     frame.add(new BlurredImage());     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     frame.setSize(400,400);     frame.setLocationRelativeTo(null);     frame.setVisible(true);   } }