Guidance on Transcoding Large Images

Alejandro Calbazana <[email protected]>
Newsgroups gmane.text.xml.batik.user
Message-ID <CALZkVqkWPi7XTHE46oKJdjDk1NTX1FPwqaHNAcPFyAh-kEzwsw@mail.gmail.com>
Hello,

I am looking for a little guidance on transcoding large images.  I have a
process that produces large images (using ILog JViews) that I'd like to
ultimately have deliver to a web user.  The first pass through was to
produce a JPEG, but memory is constraint and loading up a bufferedimage
triggers an OOM exception and now I am looking for an alternative.  Here
are some things I've considered:


1. Produce a large SVG and slice it so that it produces smaller
PNGs/JPEGs.  I am not sure if batik supports this or not.  I do not know if
it is as simple as adjusting the viewport and then rendering?
2. Produce a large SVG and transcode it to TIFF.  I see there is a
TiledImageTranscoder in the contrib, and I was able to get it to produce a
TIFF, but image quality was terrible.  Maybe there is a hint that I am
missing?
3. Produce a large SVG and transcode it to another image format for
slicing.  Tried this and it looks like the transcoder for PNG and JPEG use
a buffered image.

Does anyone have any experience with such a problem?  I have very little
control over how much heap I can give my process as it runs in a shared
environment along with two other web apps.  I have plenty of storage
though, so if there is a streaming style of transcoding where parts of an
image source are read and then written in chunks, that would be ideal.  But
considering how JPEG and SVG work, I don't think that's even an option.

Any help is appreciated.

Thanks!

Al
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.