Mega Code Archive

 
Categories / Java / Advanced Graphics
 

Create a grayscale image with Java 2D tools

import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Image; import java.awt.image.BufferedImage; import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JPanel; public class GrayImage extends JPanel {   public GrayImage() {   }   public void paint(Graphics g) {     Image myImage = new ImageIcon("yourImage.png").getImage();     BufferedImage bufferedImage = new BufferedImage(myImage.getHeight(this), myImage.getWidth(this), BufferedImage.TYPE_BYTE_GRAY);     Graphics gi = bufferedImage.getGraphics();     gi.drawImage(myImage, 0, 0, null);     gi.dispose();          Graphics2D g2d = (Graphics2D) g;     g2d.drawImage(bufferedImage, null, 0, 0);   }   public static void main(String[] args) {     JFrame frame = new JFrame();     frame.add(new GrayImage());     frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     frame.setSize(400,400);     frame.setLocationRelativeTo(null);     frame.setVisible(true);   } }