JavaScript is required to use Bungie.net

OffTopic

Surf a Flood of random discussion.
Edited by colbyrules8: 10/25/2013 2:11:14 AM
5

Help with Java Programming

I just finished up with a simple project we had for Computer Science 1302 and I saw that there was extra credit for it and I was wondering if any of you could help me out with it. The program itself simply takes a BMP image and makes it black and white and creates the new output file within the same folder as the original image (Which has to be in your projects folder). The extra credit that I simply need help with is : [b]show the outputted file in a ScrollPane (hint: requires ImageIO class to show a BMP in an ImageIcon).[/b] Here is the code: [quote] import java.io.*; import javax.swing.*; public class Bitmapper { public static void main(String[] args) throws IOException { //ask user for a file (BMP) to open JFileChooser chooser = new JFileChooser(); int status = chooser.showOpenDialog(null); if (status != JFileChooser.APPROVE_OPTION) { JOptionPane.showMessageDialog(null, "No file chosen."); } else { File file = chooser.getSelectedFile(); String outfile = chooser.getSelectedFile().getParentFile().getAbsolutePath(); String inName = file.getName(); // input file name to string outfile += "\\" + inName.substring(0, inName.length() -4) + "_gray.bmp"; // generate output file name // Handling binary (not text) data, so use FileInputStream FileInputStream in = new FileInputStream(file); FileOutputStream out = new FileOutputStream(outfile); int B, G, R = 0; int counter = 0; while((B=in.read())!=-1) { if (++counter>54) // skip past Bitmap headers { G = in.read(); //read green and blue bytes R = in.read(); int gray = (B + G + R)/3; B = gray; G = gray; R = gray; out.write(R); out.write(G); //B = Math.min(B+100, 255); // Lighten image } out.write(B); } in.close(); out.close(); } } } [/quote]

Posting in language:

 

Play nice. Take a minute to review our Code of Conduct before submitting your post. Cancel Edit Create Fireteam Post

  • Sorry for bumping but I just want to see if anyone can add onto what suppressor said. He helped out quite a bit but I am still a bit confused as the extra credit portions are coding we haven't learned yet. Basically our labs and projects cover what we learned and the extra credit is implementing something from the next section so we have to go out of our way to learn about it.

    Posting in language:

     

    Play nice. Take a minute to review our Code of Conduct before submitting your post. Cancel Edit Create Fireteam Post

  • Xbox.com? [spoiler]I no likey these com putters, and the interwebs with wifer it confuses me.[/spoiler]

    Posting in language:

     

    Play nice. Take a minute to review our Code of Conduct before submitting your post. Cancel Edit Create Fireteam Post

  • Nothing?

    Posting in language:

     

    Play nice. Take a minute to review our Code of Conduct before submitting your post. Cancel Edit Create Fireteam Post

  • Edited by Emacs: 10/25/2013 2:14:21 AM
    If you need to grey scale the image, you need to average all of the colour channel values in each pixel, and set each of the channels equal to that average value. If it's strictly Black and White, then you need to set the colour channel values to 00 or FF based on the average being over or under some value. I'm not sure all of the libraries you're using (images and interface) are standard, so I can't help with that.

    Posting in language:

     

    Play nice. Take a minute to review our Code of Conduct before submitting your post. Cancel Edit Create Fireteam Post

    5 Replies
    • 0
      Yes.

      Posting in language:

       

      Play nice. Take a minute to review our Code of Conduct before submitting your post. Cancel Edit Create Fireteam Post

      1 Reply
      You are not allowed to view this content.
      ;
      preload icon
      preload icon
      preload icon