The solution might be right under my nose (in my feedbag?) but I want to create a GIF or JPG file from an Image object or Graphics object created in a java application (could be applet or otherwise). Do I have to buy an add-on API, or is there something in freespace available to do this? Thanks in advance for your help. ------------------ Tom McComb
Tom McComb
Tom McComb
Ranch Hand
Joined: Jun 07, 2001
Posts: 30
posted
0
OK. I discovered how to do it with JPEG. Any thoughts on GIF exports? Only because they seem to be smaller files. Thanks again. ------------------ Tom McComb
Tim Collins
Greenhorn
Joined: May 31, 2001
Posts: 9
posted
0
Tom, I know this doesn't help you at all, but the whole purpose of this site is to share information, right? ;-) How do you export graphics object (like in a paint method) to a jpg file? I have been looking for a few days now trying to figure out just that thing... Let me Know Tim
Sean MacLean
author
Ranch Hand
Joined: Nov 07, 2000
Posts: 621
posted
0
gif compressed files will be smaller if the image is less complicated (i.e. small color palette, not so many 'interesting' features - like logos, etc.) but jpeg should be used for 'natural' images such as photographs. This is sort of a rule of thumb, of course, and should be taken with a grain of salt. Anyway, due the the legal issues involved with the gif LZW compression format, I doubt you'll find an 'official' api for this. However, www.acme.com has a nice package that you can use. I hope this helps. Sean Sean
Tom McComb
Ranch Hand
Joined: Jun 07, 2001
Posts: 30
posted
0
I found this on another posting on JavaRanch. The "com.sun.image.codec.jpeg" package came with my VisualCafe install. It runs pretty quickly. Hope this helps. Also, I found the GIF exporter on www.acme.com, and will try it today. Thanks for your help! ---------------------------- import java.awt.*; import java.awt.image.*; import java.io.*; import com.sun.image.codec.jpeg.*; public class Text2Image { public static void main(String args[]) { Frame myFrame = null; Graphics2D myGraphics = null; try { myFrame = new Frame(); myFrame.addNotify(); BufferedImage buffImage = new BufferedImage(400, 200, BufferedImage.TYPE_INT_RGB); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("d:\\waterfall.jpg")); myGraphics = buffImage.createGraphics(); myGraphics.setFont(new Font("Serif", Font.ITALIC, 48));