Asido
From Wikipedia, the free encyclopedia
Asido | |
---|---|
Developed by | Kaloyan K. Tsvetkov |
Latest release | 0.0.0.1a / 10th Apr 2007 |
Genre | Image Manupulation |
License | LGPL |
Website | Asido.info |
Asido is an open-source PHP (PHP4/PHP5) image processing solution, with "pluggable" drivers(adapters) for virtually any environment (either GD2 (php_gd2
), ImageMagick via shell, ImageMagick via extension (php_imagick
), MagickWand (php_magickwand
), etc).
Contents |
[edit] Features
Asido supports the following features:
- pluggable drivers for GD2 (
php_gd2
), MagickWand (php_magickwand
), ImageMagick extension (php_imagick
) as well as ImageMagick shell commands - "hack" drivers: workarrounds for certain disablities of a particular driver by using some of the other functionality provided by the environment
- various resize functionality: proportional resize, resize only by width or height, stretch resize, fit resize, frame resize
- watermark images, including tiling watermark and automatic scaling of large watermarks
- rotate images
- copy images onto one another
- crop images
- grayscale images
- convert images between different filetypes
Here are some of the features covered.
[edit] Fit Resize
This type of resize is a proportional resize, but its behaviour is affected by the size (dimensions) of the image. If the image is smaller than the "resize frame" (provided by the $width
and $height
arguments), it will NOT be resized: it will resize only if any of its dimensions are bigger than those of the "resize frame". This feature is very handy; it will save you the pixelation effect if you are trying to resize smaller images to fit into larger "frames".
[edit] Frame Resize
This is another handy resize feature. It is a kind of compromise between the stretch resize and the proportional resize. This feature will resize the image proportionally using the Fit feature (not the regular proportional resize) and will place it in the center of a canvas, which has $width
and $height
as its dimensions, and $color
as its background. This is very useful, because it offers the ability to fit virtually any image inside any resize frame - and the proportions will not matter: you can fit a landscape inside a square, or a square inside a portrait, etc. The $color
argument is used in the same manner as it is used when rotating by custsom angles - to fill the left blank areas.
[edit] Drivers
Currently Asido supports the drivers for the following environments:
- GD2 (
php_gd2
) extension - ImageMagick
php_imagick
extension - MagickWand
php_magickwand
extension - ImageMagick shell commands
[edit] Example Code
This example shows how to watermark and resize an image.
<?php /** * Set the path to the Asido library */ include('./../../asido/dev/class.asido.php'); /** * Use the GD driver */ asido::driver('gd'); /** * Create an Asido_Image object */ $i1 = asido::image( 'the-source-image.jpg', 'filename-with-which-you-want-to-save-the-result.png' ); /** * Watermark it */ asido::watermark($i1, 'put-the-watermark-image-here.png'); /** * Resize it proportionally to make it fit inside a 400x400 frame */ asido::resize($i1, 400, 400, ASIDO_RESIZE_PROPORTIONAL); /** * Save it and overwrite the file if it exists */ $i1->save(ASIDO_OVERWRITE_ENABLED); ?>
[edit] External links
- Asido project at SourceForge.net
- GD(GD2) Image Functions (PHP), support in PHP
- MagickWand for PHP MagickWand For PHP manual
- ImageMagick official ImageMagick project homepage