Alternatively, does it make sense to convert a GIF that you want to decrease
in size to a JPEG, lower its quality and then convert it back to a GIF ?  Am
I missing something here ??
Peter Stamboulis
181/2A-15
(301)240-4171

> ----------
> From:         Lincoln Perry[SMTP:[EMAIL PROTECTED]]
> Reply To:     Lincoln Perry
> Sent:         Wednesday, January 05, 2000 11:55 AM
> To:   [EMAIL PROTECTED]
> Subject:      Re: [JAVA2D] ConvolveOp to reduce image size
>
> >Date: Tue, 4 Jan 2000 18:09:05 -0800
> >From: Austin Chinn <[EMAIL PROTECTED]>
> >Subject: [JAVA2D] ConvolveOp to reduce image size
> >To: [EMAIL PROTECTED]
> >
> >I am creating an image processing program which loads in an image and
> writes
> out different quality versions of the same image.  The ultimate goal is to
> reduce the image file size at the expense of some quality.  Does anyone
> know how
> to use the ConvolveOp and Kernel to accomplish this?  More specifically,
> what is
> the best Kernel config?  I would use the codec JPEGEncoder.setQuality(),
> but I
> am also writing out GIFs and my GIFEncoder does not allow me to modify the
> quality.  Any ideas/suggestions would be greatly appreciated.
> >
>
> Hi Austin:
>
>   GIF is a lossless format, so you can't vary quality in the way you
>   can with a lossy format like Jpeg. However, if your GIFEncoder
>   supports it, you might be able to reduce the file size by changing
>   the color quantization to use a smaller pallette, say a 32 color palette
>   instead of a 256 color palette.
>
>   I'm not sure that blurring the image will have too big an effect on
>   GIF file size. It would have to increase run-lengths significantly
>   to help much. But if you want to try it, start with a small kernel,
>   like 3x3. Its easiest to think about the values in one dimension
>   and then extend it to two dimensions.
>
>   You might start with:
>
>     float[] kdata1D = {0.1F, 0.8F, 0.1F};
>
>     float[] kdata2D = new float[3*3];
>
>     for (int y=0; y<3; y++) {
>       for (int x=0; x<3; x++) {
>         kdata2D[y*3+x] = kdata1D[x] * kdata1D[y];
>       }
>     }
>
>     Kernel kernel = new Kernel(3, 3, kdata2D);
>
>   You can vary the elements of kdata until you get the desired blurring
>   effect. You lower the central value to get more smoothing. The sum
>   of the values in the 1D kernel must  be 1.0 and the two outer elements
>   should be equal.
>
> [Shameless Plug]
>   BTW, you might also want to check out the Java Advanced Imaging API at
>     http://java.sun.com/products/java-media/jai
>
>   This has a PNG encoder, which might be useful to you.
>
> Regards,
> Link Perry
> JAI Team
>
> ==========================================================================
> =
> 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".
>

===========================================================================
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".

Reply via email to