Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package utils;
- import java.awt.Color;
- import java.awt.image.BufferedImage;
- import java.io.File;
- import java.io.IOException;
- import java.io.PrintWriter;
- import javax.imageio.ImageIO;
- import javax.swing.ImageIcon;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- public class Images {
- public static void main(String[] args) throws IOException, InterruptedException {
- BufferedImage bi = null;
- bi = ImageIO.read(new File("setgo.png"));
- int count = 0;
- PrintWriter pw = new PrintWriter(new File("setgo.out"));
- System.out.println(bi.getHeight() + " " + bi.getWidth());
- Color targ = null;
- for (int i = 0; i < bi.getHeight(); i++) {
- for (int j = 0; j < bi.getWidth(); j++) {
- targ = new Color(bi.getRGB(j, i));
- int avg = (targ.getRed() + targ.getBlue() + targ.getGreen()) / 3;
- pw.printf(/*"R:%-3d G:%-3d B:%-3d */"AVG:%-3d ", /*targ.getRed(), targ.getGreen(), +targ.getBlue(),*/
- (targ.getRed() + targ.getBlue() + targ.getGreen()) / 3); //Right now this only displays averages, uncomment for rgb values
- if (targ.getBlue() % 10 == 0 || targ.getRed() % 10 == 0 || targ.getGreen() % 10 == 0) // insert filter condition
- bi.setRGB(j, i, new Color(targ.getRed()/2, targ.getGreen()/2, targ.getBlue()/2).getRGB());
- else
- bi.setRGB(j, i, new Color(targ.getRed()*2, targ.getGreen()*2, targ.getBlue()*2).getRGB());
- }
- pw.println();
- }
- System.out.println(count + " " + bi.getHeight() * bi.getWidth());
- pw.close();
- JFrame fr = new JFrame();
- fr.getContentPane().add(new JLabel(new ImageIcon(bi)));
- fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- fr.pack();
- fr.setVisible(true);
- Thread.sleep(5000);
- System.exit(0); //Comment line to not auto close image
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement