// This code example is created for educational purpose // by Thorsten Thormaehlen (contact: www.thormae.de). // It is distributed without any warranty. import java.awt.*; import java.awt.image.*; import java.io.*; import javax.imageio.*; import javax.swing.*; class MyBufferedImage extends JFrame { public void createGUI() { // configure JFrame setTitle("HelloGUI"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // create and add JPanel MyPaintPanel paintPanel = new MyPaintPanel(); this.getContentPane().add(paintPanel); pack(); setResizable(false); setVisible(true); } public static void main(String[] args) { javax.swing.SwingUtilities.invokeLater( new Runnable() { public void run() { MyBufferedImage myGUI = new MyBufferedImage(); myGUI.createGUI(); } }); } static class MyPaintPanel extends JPanel { private BufferedImage img = null; public MyPaintPanel() { try { img = ImageIO.read(new File("horse.jpg")); } catch (IOException e) { System.out.println("failed to load image"); } if (img != null) this.setPreferredSize(new Dimension(img.getWidth(), img.getHeight())); } @Override public void paint(Graphics g) { super.paint(g); Graphics2D g2d = (Graphics2D) g; // cast to Graphics2D int oldRgb = img.getRGB(10, 100); // read a pixel int rgb = 0xFFFF0000; // Alpha-Red-Green-Blue img.setRGB(10, 100, rgb); // draw red pixel g.drawImage(img, 0, 0, null); } } }