diff --git a/image-processing/pom.xml b/image-processing/pom.xml index ccb3238a7e..2e4063964e 100644 --- a/image-processing/pom.xml +++ b/image-processing/pom.xml @@ -40,6 +40,16 @@ commons-logging + + + com.twelvemonkeys.imageio + imageio-core + 3.3.2 + + + com.twelvemonkeys.imageio + imageio-bmp + 3.3.2 diff --git a/image-processing/src/main/java/com/baeldung/imageprocessing/twelvemonkeys/TwelveMonkeysExample.java b/image-processing/src/main/java/com/baeldung/imageprocessing/twelvemonkeys/TwelveMonkeysExample.java new file mode 100644 index 0000000000..78c7b6a99b --- /dev/null +++ b/image-processing/src/main/java/com/baeldung/imageprocessing/twelvemonkeys/TwelveMonkeysExample.java @@ -0,0 +1,47 @@ +package com.baeldung.imageprocessing.twelvemonkeys; + +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.Graphics2D; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; + +import javax.imageio.ImageIO; +import javax.swing.ImageIcon; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; + +public class TwelveMonkeysExample { + public static void main(String[] args) throws IOException { + BufferedImage image = loadImage(); + drawRectangle(image); + displayImage(image); + } + + private static BufferedImage loadImage() throws IOException { + String imagePath = TwelveMonkeysExample.class.getClassLoader().getResource("Penguin.ico").getPath(); + return ImageIO.read(new File(imagePath)); + } + + private static void drawRectangle(BufferedImage image) { + Graphics2D g = (Graphics2D) image.getGraphics(); + g.setStroke(new BasicStroke(3)); + g.setColor(Color.BLUE); + g.drawRect(10, 10, image.getWidth() - 20, image.getHeight() - 20); + } + + private static void displayImage(BufferedImage image) { + JLabel picLabel = new JLabel(new ImageIcon(image)); + + JPanel jPanel = new JPanel(); + jPanel.add(picLabel); + + JFrame f = new JFrame(); + f.setSize(new Dimension(200, 200)); + f.add(jPanel); + f.setVisible(true); + } +} diff --git a/image-processing/src/main/resources/Penguin.ico b/image-processing/src/main/resources/Penguin.ico new file mode 100644 index 0000000000..a6df5d71a8 Binary files /dev/null and b/image-processing/src/main/resources/Penguin.ico differ