> For extra credit:
>
> Do you really want 150 dpi in the output jpeg? (ie so that viewers would
> also scale it appropriately?)
> If you want to save resolution information then YES you do have to
> do more. Go to the website and locate the imageio guide in pdf, ps or
> html and check out the JPEG metadata spec
>
http://java.sun.com/j2se/1.4.1/docs/api/javax/imageio/metadata/doc-files/jpe
g_metadata.html
>
> -phil.
Ok, I'm stuck again. Here's what I have so far...
public static void main(String[] args)
{
//create a colored square
BufferedImage bi = new BufferedImage(100, 100,
BufferedImage.TYPE_INT_RGB);
Graphics2D biContext = bi.createGraphics();
biContext.setColor(Color.blue);
biContext.fillRect(0, 0, 200, 200);
Iterator i = ImageIO.getImageWritersByFormatName("jpeg");
//are there any jpeg encoders available?
if (i.hasNext()) //there's at least one ImageWriter, just use the
first one
{
ImageWriter imageWriter = (ImageWriter) i.next();
//get the param
ImageWriteParam param = imageWriter.getDefaultWriteParam();
ImageTypeSpecifier its = new
ImageTypeSpecifier(bi.getColorModel(),bi.getSampleModel());
//get metadata
IIOMetadata iomd =
imageWriter.getDefaultImageMetadata(its,param);
String formatName = "javax_imageio_jpeg_image_1.0";//this is the
DOCTYPE of the metadata we need
IIOMetadataFormat format = iomd.getMetadataFormat(formatName);
String[] strings = format.getAttributeNames("app0JFIF");
//change density to 150DPI - how?
for (int s = 0; s < strings.length; s++)
{
String string = strings[s];
System.out.println(string); //print out the attribute
names for the element I want to change
}
}
}
when I run this method I get this output:
majorVersion
minorVersion
resUnits
Xdensity
Ydensity
thumbWidth
thumbHeight
I want to change the resUnits, Xdensity, and Ydensity values.....but every
class I look at in metadata seems to have protected methods for changing
attributes. I'm stumped. I don't even know how to querry what the current
values for these attributes are.
I want to give resUnits a value of "1" for dots/inch, and give
Xdensity/Ydensity values of 150.
Any clues for me? Thanks!
Rob
===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA2D-INTEREST". For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".