Better image downsampling algorithm
Very high-resolution covers look quite ugly the way bliss downscales them at the moment. The problem is that you're probably using bilinear interpolation. This produces aliasing artefacts when downsampling.
I don't really know how to do that in Java, but if you need more info on the image processing side of things, I do know about those.
This is obviously not the most important thing in the world :)
-
Jason Schafer commented
The Cubic algorithm is more than sufficient to make resizing "pretty", it was just a thought because I don't know how "picky" people are.
I'm no expert on image processing, so please take my comments with a grain of salt. :)
More information: https://graphicdesign.stackexchange.com/questions/26385/difference-between-none-linear-cubic-and-sinclanczos3-interpolation-in-image
-
Heh, well I don't know about you but 95% of the time I just choose Cubic and it works... I don't know enough about the algorithms to say when none or linear would be useful.
-
Jason Schafer commented
I've found this issue is exacerbated if you use images that are close to the size you are downsampling to. After reading what Dan posted, I think Bliss's Affine transformation is similar to GIMP's resize algorithm without interpolation turned on (Was testing and comparing images from bliss's conversion from JPEG to png with an image at 1080x1080 going down to 900x900 versus that image from 3000x3000 down to 900x900, interpolation still looks much better in both cases).
If another image scaling library is imported, maybe allow the end user to choose with interpolation method they want (linear, cubic, etc)?
-
Probably worse than that ;)
bliss uses an AffineTransform ( http://en.wikipedia.org/wiki/Affine_transformation ) using this API: http://download.oracle.com/javase/1.4.2/docs/api/java/awt/geom/AffineTransform.html
It might be worth looking at incorporating imgscalr: http://www.thebuzzmedia.com/software/imgscalr-java-image-scaling-library/