Description anySize is a lightweight, drop-in, fully automated, caching, make-you-coffee-and-serve-it-in-bed script that lets you request and generate images (jpg, gif or png) of any size. For example: You upload “image.png” to your image folder, “images” <img src=”images/image.png” /> The image is returned at its native resolution
<img src=”images/resized/image.png?s=thumb” /> A thumbnail is presented
<img src=”images/resized/image.png?s=medium” /> A medium sized image is presented
<img src=”images/resized/image.png?w=100&h=150” /> An image with max width 150px and max height 100px is presented. Aspect ratio is maintained.
<img src=”images/resized/image.png?w=100&h=150&a=false” /> An image with width 150px and height 100px is presented. Aspect ratio is NOT maintained.
And now for the awesome: When you request an image the first time the result is stored in a cache folder and all further requests use that cache. Image file updated and re-uploaded? No need to flush the cache; everything is automatically taken care of! Want to define the size of your “thumbnail” image? Want to add a “megaawesome” option so you can request images/image.png?s=megaawesome ? Want to disable arbitrary resizing (options 4 & 5)? No problem! Everything is set up in the first few lines of the code using intuitively-named variables. Works out of the box but is extremely easy to customize. The following are flags and variables the system understands: s: (Set Size) Ex: <img src=”images/resized/image.png?s=someSize” /> Returns an image of a pre-determined size (as set at the top of the anySize.php file) The default sizes out of the box are:
s=thumb: max size 60×60 image.
s=small: max size 200×200 image.
s=medium: max size 400×400 image.
s=large: max size 800×800 image.
Note: These sizes are truly simple to change, add, remove, etc. Comments in the file show how to edit these sizes. w: (Width) Ex: <img src=”images/resized/image.png?w=100” /> Returns an image with a width of 100px. Unless specified, aspect ratio is preserved. h: (Height) Ex: <img src=”images/resized/image.png?h=150” /> Returns an image with a height of 100px. Unless specified, aspect ratio is preserved. a: (Aspect Ratio) Ex: <img src=”images/resized/image.png?w=100&h=150&a=false” /> Returns an image with a width of 100px and a height of 150px; Aspect ratio is ignored and the image WILL be 100px wide and 150px tall if a=false Note: If you set both w and h and do not set a to “false” the system will produce an image that fits within the box defined by w and h while maintaining the aspect ratio. Essentially w and h, when set together, form a bounding box for the result image. See Example 4 for how this might look in code. But wait! There’s more! Included in the anySize download is a speed-optimized version of the script that uses just the size flag (s) and boosts the cache speed for truly lightweight and lightening fast operation. Updates!
August 7th 2009: Added transparency support for PNG and GIF files.