Asido

From Wikipedia, the free encyclopedia

Asido
Image:asido-logo.gif
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:

[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