On 09/13/2012 04:26 PM, Ludovic Dubost wrote:
This is really cool. Base on this we could offer a JS cropping API also to crop your profile photo for example.
Yes I have this generic component that could be integrated as well. I've plugged it locally to XE user profile in the past (XE 3.2), I would just need to update it to recent versions of XE. Jerome
The quality of the new scaling processor is really good. Base on these results I'm not sure we even need to keep the old one, which could also fail on some specific formats.
I'm +1 to see this in the platform in 4.3
Ludovic
2012/9/13 Jerome Velociter <[email protected]>:
Hi devs,
I've already proposed a thumbnail module in the past (http://markmail.org/thread/3le7qxziog2p7bsd) but it felt short in terms of design. I reckon it's more of a URL cache module for images/thumbnails and probably doesn't make much sense in the platform.
I would like still to propose one change separately, that was going together with this module : adding a cropping API to the current image plugin. This would allow to not only pass dimensions information when downloading an image, but also to pass coordinates to crop a subimage out of the original image. Practically, it's adding a "boundaries" URL parameter (in addition to the existing width, height, quality and keepAspectRatio existing parameters), that is a comma separated list of x, y, width and height used to construct the subimage.
Right now the code is in https://github.com/jvelo/xwiki-platform-thumbnails/tree/master/src/main/java..., I will make a proper pull request to discuss the patch if their is interest. Note I also have a generic UI component to perform resizing and store image boundaries for an attachment in an XObject that I can share (and even plug into the user profile for example).
On the longer term, their is a discussion to have around how to wire attachment transformation from URLs. Maybe a "transformations" URL parameter that takes a list of hints of transformation components ? Then the resizing/cropping could be implemented as transformations in a new image module ? WDYT ?
Finally, finishing note, I've also written a new image processor for the current image plugin API, based on https://code.google.com/p/java-image-scaling/ that yields images of much better quality compared to the current implementation based on awt/graphics2d. See for example the before/after : http://imgur.com/oU9v5 (for the before, those had a quality param of "1", i.e. maxed out). Code is there : https://github.com/jvelo/xwiki-platform-thumbnails/blob/master/src/main/java.... One thing I didn't do yet is to extract a superclass from it and the base impl. If there is interest, we could provide this processor as an alternative. Maybe with a parameter config to pass the hint of the processor to use. WDYT ?
Thanks, Jerome _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs
-- Peace, —Jerome