Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/lencioni/slir

Smart Lencioni Image Resizer
https://github.com/lencioni/slir

Last synced: 3 months ago
JSON representation

Smart Lencioni Image Resizer

Awesome Lists containing this project

README

        

# SLIR (Smart Lencioni Image Resizer)

SLIR (Smart Lencioni Image Resizer) resizes images, intelligently sharpens, crops based on width:height ratios, color fills transparent GIFs and PNGs, and caches variations for optimal performance.

For questions or support, please [visit the SLIR Google Group](https://groups.google.com/forum/?fromgroups#!forum/smart-lencioni-image-resizer). If you have found a bug, please [use the issue tracker](https://github.com/lencioni/SLIR/issues).

## Requirements

* [PHP](http://php.net) 5.1.2+
* [GD Graphics Library](http://php.net/manual/en/book.image.php) -- must be a version that supports `imageconvolution()`, such as the bundled version

### Recommended

* [mod_rewrite](http://httpd.apache.org/docs/2.4/mod/mod_rewrite.html)

## Setting up

Download and unpack to a directory in your web root. I recommend putting SLIR in `/slir/` for ease of use. For example, if your website is `http://yourdomain.com`, then SLIR would be at `http://yourdomain.com/slir/`.

After you have SLIR downloaded, visit `http://yourdomain.com/slir/install/` in your favorite web browser.

## Using

To use SLIR, place an `` tag with the `src` attribute pointing to the path of SLIR (typically "/slir/") followed by the parameters, followed by the path to the source image to resize (e.g. ``). All parameters follow the pattern of a one-letter code and then the parameter value:



Parameter
Mearning
Example




w
Maximum width
/slir/w100/path/to/image.jpg


h
Maximum height
/slir/h100/path/to/image.jpg


c
Crop ratio
/slir/c1x1/path/to/image.jpg


q
Quality
/slir/q60/path/to/image.jpg


b
Background fill color
/slir/bf00/path/to/image.png


p
Progressive
/slir/p1/path/to/image.jpg

Separate multiple parameters with a hyphen: /slir/w100-h100-c1x1/path/to/image.jpg

### Examples

#### Resizing an image to a max width of 100 pixels and a max height of 100 pixels

#### Resizing and cropping an image into a square

#### Resizing and cropping an image to exact dimensions

To do this, you simply need to make the crop ratio match up with the desired width and height. For example, if you want your image to be exactly 150 pixels wide by 100 pixels high, you could do this:

Or, more concisely:

However, SLIR will not enlarge images. So, if your source image is smaller than the desired size you will need to use CSS to make it the correct size.

#### Resizing a JPEG without interlacing (for use in Flash)

#### Matting a PNG with #990000

#### Without mod_rewrite (not recommended)

#### Special characters (e.g. `+`) in image filenames

Filenames that include special characters must be URL-encoded (e.g. plus sign, `+`, should be encoded as `%2B`) in order for SLIR to recognize them properly. This can be accomplished by passing your filenames through PHP's `rawurlencode()` function.

## Supporting SLIR

If you would like to support SLIR or to show your appreciation for the time spent developing this project, please make a financial contribution.

* [Dwolla](https://www.dwolla.com/hub/lencioni)
* [Flattr](http://flattr.com/thing/178729/Smart-Lencioni-Image-Resizer-SLIR)

***

For more documentation, open `core/slir.class.php` in your favorite text editor.