4 messages in net.java.dev.jai.interestRe: [JAI] Converting bitmap - DPI and...
FromSent OnAttachments
jai-...@javadesktop.orgNov 17, 2005 9:42 am 
Brian BurkhalterNov 17, 2005 12:12 pm 
jai-...@javadesktop.orgNov 17, 2005 1:39 pm 
jai-...@javadesktop.orgNov 29, 2005 8:01 pm 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [JAI] Converting bitmap - DPI and bit depth not carrying overActions...
From:Brian Burkhalter (Bria@Sun.COM)
Date:Nov 17, 2005 12:12:17 pm
List:net.java.dev.jai.interest

Looks like it should work.

Can you post a self-contained complete test case and data (if not too big).

Brian

On Thu, 17 Nov 2005, jai-@javadesktop.org wrote:

Hi;

I am converting a file from one format to PNG and the DPI and bits/pixel are not
carrying over. The DPI is always -1 and the PNG is always 24 DPI.

Partial code here: ImageInputStream imageInput = ImageIO.createImageInputStream(new
ByteArrayInputStream(image)); Iterator it = ImageIO.getImageReaders("bmp"); ImageReader reader = null; while(it.hasNext()) { Object obj = it.next(); if (! (obj instanceof ImageReader)) continue; reader = (ImageReader) obj; if (reader.getOriginatingProvider().isStandardImageMetadataFormatSupported()) break; } reader.setInput(imageInput); IIOMetadata meta = reader.getImageMetadata(0);

it = ImageIO.getImageWritersByFormatName(HtmlImage.typeToStr(formats[0])); ImageWriter writer = null; while(it.hasNext()) { writer = (ImageWriter)it.next(); if (writer.getOriginatingProvider().isStandardImageMetadataFormatSupported()) break; } ImageWriteParam writeParam = writer.getDefaultWriteParam(); if (writeParam.canWriteCompressed()) { writeParam.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); writeParam.setCompressionQuality(0.95f); }

RenderedImage ri = reader.read(0); ByteArrayOutputStream out = new ByteArrayOutputStream(); MemoryCacheImageOutputStream mcios = new MemoryCacheImageOutputStream(out); writer.setOutput(mcios); writer.write(null, new IIOImage(ri, null, meta), writeParam);

reader.dispose(); imageInput.close(); writer.dispose(); mcios.close();

http://www.javadesktop.org/forums/thread.jspa?messageID=125658&#125658