Java-Gaming.org    
Featured games (81)
games approved by the League of Dukes
Games in Showcase (495)
Games in Android Showcase (114)
games submitted by our members
Games in WIP (563)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Writing .jpg files  (Read 1747 times)
0 Members and 1 Guest are viewing this topic.
Offline fletchergames

Senior Member





« Posted 2006-11-09 04:11:21 »

I use the following line for writing Image files:

1  
2  
3  
4  
5  
6  
/**Saves the specified image to file.
 * @param image the Image to save
 * @param extension the extension of the file type to write
 * @param file the file to write to
 */

ImageIO.write(image, extension, file);


If the extension is png, it works fine.  If the extension is jpg, the file is discolored.  I realize that jpeg is a lossy format, but the resulting files are ridiculously discolored.  Is this a bug in ImageIO, or do I need to do something special?

I'm using version 1.5 update 9.
Offline oNyx

JGO Coder


Medals: 2


pixels! :x


« Reply #1 - Posted 2006-11-09 07:54:51 »

It should be 75 or 80% jpeg with 2x2 luminance cells. Depending on the image it should either look ok or well, shit (if there are few colors, hard edges, strong contrasts etc - png would have been a better choice then).

Feel free to post the images (png and jpeg).

There is also another way to write jpegs with some control about the compression. Cant remember how its done... never really wanted to write jpegs myself.

弾幕 ☆ @mahonnaiseblog
Offline BloodRain

Junior Member





« Reply #2 - Posted 2006-11-09 13:58:26 »

Try this :
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
class JPEGWriter
         {
   static float quality=0.9f; // <---THIS MIGHT BE YOUR PROBLEM
  public static void write(BufferedImage img,File filename)
               {
         try
            {
               FileOutputStream out=new FileOutputStream(filename);
               JPEGImageEncoder encoder=JPEGCodec.createJPEGEncoder(out);
               JPEGEncodeParam jep=encoder.getDefaultJPEGEncodeParam(img);
               jep.setQuality(quality,false);
               
               encoder.setJPEGEncodeParam(jep);
               encoder.encode(img);
               
             out.close();
            }
            catch(Exception e)
                     {
                     e.printStackTrace();  
                     }  
               }        
           
           
         }  

and use this like that :
1  
new JPEGWriter().write(imag,file);

imag is a BufferedImage and file is the file you want to create.
This should work...
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline fletchergames

Senior Member





« Reply #3 - Posted 2006-11-09 15:43:48 »

I tried the code in the JPEGWriter class, and the same thing happened.  I even tried setting the quality to 1.0f, but it made no difference.

I'm attaching the different images - one encoded as a .png and one encoded as a .jpg.
Offline oNyx

JGO Coder


Medals: 2


pixels! :x


« Reply #4 - Posted 2006-11-10 09:24:22 »

Hm. Looks totally garbled. Try copying it over to some opaque image before saving. No idea if that helps tho.

弾幕 ☆ @mahonnaiseblog
Offline fletchergames

Senior Member





« Reply #5 - Posted 2006-11-10 19:22:35 »

Copying the image to an opaque image first did the trick.  Using the contents of class JPEGWriter is unnecesary.
Offline campbell

Junior Member




Java games rock!


« Reply #6 - Posted 2006-11-13 06:10:53 »

Please read the evaluation of this bug report:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4836466

In short, it's a limitation in other native apps, not in Java.

Chris
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

Dwinin (28 views)
2014-09-12 09:08:26

Norakomi (57 views)
2014-09-10 13:57:51

TehJavaDev (74 views)
2014-09-10 06:39:09

Tekkerue (37 views)
2014-09-09 02:24:56

mitcheeb (57 views)
2014-09-08 06:06:29

BurntPizza (44 views)
2014-09-07 01:13:42

Longarmx (27 views)
2014-09-07 01:12:14

Longarmx (34 views)
2014-09-07 01:11:22

Longarmx (34 views)
2014-09-07 01:10:19

mitcheeb (40 views)
2014-09-04 23:08:59
List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06

List of Learning Resources
by SilverTiger
2014-07-31 11:54:12

HotSpot Options
by dleskov
2014-07-08 01:59:08
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!