Hello, I'm trying to shrink some photos (mostly jpeg) and maintain a reasonable balance of performance and quality. Right now, the performance is acceptable and the quality isn't terrible, but it's not so hot. I'm at the point where I'm willing to trade a *little* performance for some quality gains.
My current technique is to simply apply a scaling transform through an AffineTransformOp and fiddle with the various rendering hints. I also use the ImageIO to save the shrunk image as a jpeg file, and I've played around with the quality settings on the ImageWriter, but I've discovered that while it does have a small effect on the final quality, it's not worth the effort. So the current technique looks like this: AffineTransform aScaleTransform = AffineTransform.getScaleInstance( aScaleFactor, aScaleFactor); AffineTransformOp aScaleOp = new AffineTransformOp( aScaleTransform, aRenderingHints ); aScaleOp.filter( sourceImage, destinationBuffer); My problem is that even if I use the highest quality settings: VALUE_INTERPOLATION_BICUBIC VALUE_RENDER_QUALITY the result still looks fairly aliased, jagged. Gonzalez & Woods (textbook) suggests that blurring the image a bit before the scaling transform will clean up a lot of the aliasing. Have people found this to be the case? Or is it more efficient to seek more exotic forms of interploation? Are these problems more easily solved using JAI? Thanks for any pointers. Joseph Panico [EMAIL PROTECTED] _________________________________________________________________ Unlimited Internet access for only $21.95/month. Try MSN! http://resourcecenter.msn.com/access/plans/2monthsfree.asp =========================================================================== 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".
