05
JAN

Zebra_Image, une librairie light en PHP pour manipuler vos images

Publié le 05/01/11 à 10h21 par Sybio

Zebra_Image est une librairie light en PHP pour manipuler vos images, et plus précisément pour faire du cropping (recadrage).

 

Cropping avec Zebra_image

 

La librairie peut-être une alternative à upload.class.php de Verot.net.

Elle intègre 4 méthodes de cropping:

  • recadrage en respectant le ratio de l'image, mais qui doit respecter la taille imposée: des bords blancs peuvent alors être ajoutés.
  • recadrage toujours en respectant le ratio de l'image, la différence est que l'image ne doit pas dépasser la taille imposée, mais le résultat peut être un rendu plus petit que celui voulu (pas de bords ajoutés).
  • recadrage en respectant le ratio de l'image, en se rapprochant le plus proche de la taille voulu, mais en étant plus grand ou au maximum égal à la taille désirée, si le ratio le permet.
  • enfin, recadrage dans une partie de l'image (dans la partie gauche, droite, etc, de cette dernière).

Manipulation:

La manipulation est très simple, vous instanciez un objet de type Zebra_image, vous choisissez l'image dans votre répertoire et la destination de la miniature, puis vous choisissez les options de cropping (qualité de sortie de l'image, méthode de cropping...), enfin, vous appelez la méthode "resize".

Le développeur Stefan Gabos a même prévu de capturer et d'afficher des messages d'erreurs personnalisées à l'appel du crop, s'il y a erreur.

Voila un exemple d'utilisation tiré du site:

    // load the image manipulation class
    require 'path/to/Zebra_Image.php';

    // create a new instance of the class
    $image = new Zebra_Image();

    // indicate a source image (a GIF, PNG or JPEG file)
    source_path = 'path/to/image.png';

    // indicate a target image
    // note that there's no extra property to set in order to specify the target image's type -
    // simply by writing '.jpg' as extension will instruct the script to create a 'jpg' file
    $image->target_path = 'path/to/image.jpg';

    // since in this example we're going to have a jpeg file, let's set the output image's quality
    $image->jpeg_quality = 100;

    // some additional properties that can be set
    // read about them in the documentation
    $image->preserve_aspect_ratio = true;
    $image->enlarge_smaller_images = true;
    $image->preserve_time = true;

    // resize the image to exactly 100x100 pixels by using the "crop from center" method
    // (read more in the overview section or in the documentation)
    //  and if there is an error, check what the error is about
    if (!$image->resize(100, 100, IMGTRANS_CROP_CENTER)) {

        // if there was an error, let's see what the error is about
        switch ($image->error) {

            case 1:
                echo 'Source file could not be found!';
                break;
            case 2:
                echo 'Source file is not readable!';
                break;
            case 3:
                echo 'Could not write target file!';
                break;
            case 4:
                echo 'Unsupported source file format!';
                break;
            case 5:
                echo 'Unsupported target file format!';
                break;
            case 6:
                echo 'GD library version does not support target file format!';
                break;
            case 7:
                echo 'GD library is not installed!';
                break;

        }

    // if no errors
    } else {

        echo 'Success!';

    }

?>

 

Site Officiel

Personne n'a baraguiné de chtite phrase pour le moment !


Ajouter un Commentaire

Pour poster un commentaire, vous devez être identifié. Vous pouvez choisir parmi ces trois méthodes d'identification:

Compte la Ferme du Web

Identifiez-vous
Inscrivez-vous

Compte Facebook

Compte Twitter

Connexion avec votre compte twitter
Rechercher sur la Ferme du web