Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package pBild;
- import java.awt.Color;
- import java.awt.Graphics2D;
- import java.awt.Image;
- import java.awt.event.*;
- import javax.swing.*;
- import java.nio.file.*;
- import java.awt.image.*;
- import java.io.File;
- import java.io.IOException;
- import javax.imageio.*;
- import javax.swing.JFileChooser;
- public class cBild {
- public static JFrame frame = new JFrame("menu");
- public static JLabel imagelabel;
- public static JPanel wrapper = new JPanel();
- public static JScrollPane jsp = new JScrollPane(wrapper);
- public static void main(String[] args) {
- // Frame
- frame.setSize(400, 400);
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- // MenuBar
- JMenuBar bar = new JMenuBar();
- frame.setJMenuBar(bar);
- bar.setVisible(true);
- // Menu
- JMenu file = new JMenu("File");
- bar.add(file);
- // MenuItem
- JMenuItem open = new JMenuItem("Open");
- open.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- System.out.println("Do Something Clicked");
- doOpen();
- }
- });
- file.add(open);
- // MenuItem
- JMenuItem save = new JMenuItem("Save");
- save.addActionListener(new ActionListener() {
- @Override
- public void actionPerformed(ActionEvent e) {
- System.out.println("Do Something Clicked2");
- save();
- }
- });
- file.add(save);
- frame.setVisible(true);
- frame.add(jsp);
- }
- public static void doOpen() {
- // JFileChooser-Objekt erstellen
- JFileChooser chooser = new JFileChooser();
- // Dialog zum Oeffnen von Dateien anzeigen
- int rueckgabeWert = chooser.showOpenDialog(null);
- //File path = new File("C:\\Users\\DeSchmitzFI17C\\Downloads");
- // load source images
- BufferedImage image;
- BufferedImage image2;
- try {
- if(rueckgabeWert == JFileChooser.APPROVE_OPTION) {
- String filename = chooser.getSelectedFile().getName();
- String filepath = chooser.getSelectedFile().getPath().substring(0,chooser.getSelectedFile().getPath().lastIndexOf("\\"));
- image = ImageIO.read(new File(filepath, filename));
- image2 = ImageIO.read(new File(filepath, filename));
- manipulatePixel(image2);
- // create the new image, canvas size is the max. of both image sizes
- int w = image.getWidth();
- int h = image.getHeight() * 2;
- BufferedImage combined = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);
- // paint both images, preserving the alpha channels
- Graphics2D g = combined.createGraphics();
- Color c = new Color(0,0,0);
- g.setColor(c);
- g.drawImage(image, 0, 0, null);
- g.drawImage(image2, 0, image.getHeight(), null);
- ImageIcon icon = new ImageIcon(combined);
- imagelabel = new JLabel(icon);
- imagelabel.setLocation(0, 0);
- wrapper.add(imagelabel);
- frame.setVisible(false);
- frame.setVisible(true);
- frame.pack();
- }
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- /* File f = new File("C:\\Users\\voss\\Pictures\\Cat Placeholder\\800x420\\bengal_stone.png");
- boolean value = f.canRead();
- System.out.println(value);
- Image image = null;
- try {
- image = ImageIO.read(f);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- ImageIcon icon = new ImageIcon(image);
- imagelabel = new JLabel(icon);
- imagelabel.setLocation(0, 0);
- wrapper.add(imagelabel);
- frame.setVisible(false);
- frame.setVisible(true);
- frame.pack();
- */
- }
- public static void save() {
- // JFileChooser-Objekt erstellen
- JFileChooser chooser = new JFileChooser();
- // Dialog zum Speichern von Dateien anzeigen
- chooser.showSaveDialog(null);
- String sport = chooser.getSelectedFile().getPath();
- BufferedImage img = new BufferedImage(imagelabel.getWidth(), imagelabel.getHeight(), BufferedImage.TYPE_INT_ARGB);
- Graphics2D g2d = img.createGraphics();
- imagelabel.printAll(g2d);
- g2d.dispose();
- File test = new File(sport + ".png");
- try {
- ImageIO.write(img, "png", test);
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- public static void manipulatePixel(BufferedImage img) {
- for (int x = 0; x < img.getWidth(); x++) {
- for (int y = 0; y < img.getHeight(); y++) {
- Color color = new Color(img.getRGB(x, y));
- Color test = new Color(color.getRed(),0,color.getBlue());
- img.setRGB(x, y, test.getRGB());
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement