Vous êtes ici Codes PHP et MySQL > GD-Graphiques > Créer une vignette avec GD en se basant sur le...

 

Créer une vignette avec GD en se basant sur le type d’image

Créer une vignette sur la base du type d'image avec GD est assez simple en utilisant quelques fonctions clés. La magie ici se déclenche en utilisant la fonction imagecreatefromstring() au lieu de imagecreatefromjpeg(), et autres fonctions similaires pour d'autres formats d'image.

La fonction imagecreatefromstring() n'est pas dépendante du type de fichier. De ce fait tout type d'image peut être lu dans le script et un champ de vignettage peut être créé de façon à ce que la chaîne de l'image soit "mappée" dans le champ de la vignette avec la fonction imagecreatetruecolor().

Cet exemple fournit également des variables pour redimensionner des vignettes permettant de réaliser de belles galeries bien organisées, ainsi qu’une variable pour le préfixe de la vignette. Cela permet à l'utilisateur de donner une identification à la vignette. Si aucune identification n’est requise la chaîne peut rester vide.

Le nom de fichier de la vignette elle-même est généré automatiquement à partir du nom de fichier original et l’aspect de l’image est ainsi maintenu en utilisant de simples mathématiques.

Enfin, le fichier est écrit sur le disque à l'aide de imagejpeg(), imagepng(), imagegif(), ou imagewbmp() selon le type de fichier. Certaines vérifications supplémentaires pourraient être ajoutées afin de s'assurer que les autorisations d’écrire le fichier sont correctes pour, voir même un contrôle pour voir si le fichier existe déjà. Ces tâches sont laissées à la décision de l'utilisateur.
 
php Sources
Site de l'auteur voir
[115] sources en PHP voir
Code vu 1943 fois
Enregistré le 13 Jan 2010
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Créer une vignette avec GD en se basant sur le type d’image
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Créer une vignette avec GD en se basant sur le type...    */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts554-PHP.htm              */
/* Auteur         : php Sources                                               */
/* Date édition   : 13 Jan 2010                                               */
/* Website auteur : http://www.phpsources.org/                                */
/*                                                                            */
/******************************************************************************/



    // image source
    $source_image 'image1.jpg';

    // maximum hauteur
    $thumb_height 40;

    // prefix de l'image
    $thumb_prefix 'thumb_';

    // la qualité de l'image
    $quality 100;

    // regarde l'existence du fichier
    if(!file_exists($source_image))  {
        echo 'No file found';
    }
    else
    {
        // types supportés
       $supported_types = array(1237);

        // prend des infos de l'image
        list($width_orig$height_orig$image_type) = getimagesize(
$source_image);

        // regarde si le type est supporté
        if(!in_array($image_type$supported_types))
        {
            echo 'Unsupported Image Type: ' $image_type;
        }
        else
        {

            // prend le nom du fichier
            $path_parts pathinfo($source_image);
            $filename $path_parts['filename'];

            // calcul le ration
            $aspect_ratio = (float) $width_orig $height_orig;

            // calcul l'image sur la base hauteur
            $thumb_width round($thumb_height $aspect_ratio);
 
            
// imagecreatefromstring va automatiquement detecter le type de l'image
            $source imagecreatefromstring(file_get_contents($source_image));

            // creer le canvas
            $thumb imagecreatetruecolor($thumb_width$thumb_height);

            // map l'image
            imagecopyresampled($thumb$source0000$thumb_width$thumb_height$width_orig$height_orig);
            // detruit la source
            imagedestroy($source);
 
            // ecrit l'image
            switch ( $image_type )
            {
                case 1:
                    imagegif($im$fileName);
                    $thumbnail $thumb_prefix.$filename '.gif';
                    break;

                case 2:
                    $thumbnail $thumb_prefix.$filename '.jpg';
                    imagejpeg($thumb$thumbnail$quality);
                    break;

                case 3:
                    imagepng($im$fileName);
                    $thumbnail $thumb_prefix.$filename '.png';
                    break;

                case 7:
                    imagewbmp($im$fileName);
                    $thumbnail $thumb_prefix.$filename '.bmp';
                    break;
            }
        }
    }
?>

 

Fonctions du code

: Vérifie si un fichier ou un dossier existe - (PHP 4, PHP 5)
: Affiche une chaîne de caractères - (PHP 4, PHP 5)
: Crée un tableau - (PHP 4, PHP 5)
: Retourne la taille d'une image - (PHP 4, PHP 5)
: Transforme une liste de variables en tableau - (PHP 4, PHP 5)
: Indique si une valeur appartient à un tableau - (PHP 4, PHP 5)
: Retourne des informations sur un chemin système - (PHP 4 >= 4.0.3, PHP 5)
: -
: Lit tout un fichier dans une chaîne - (PHP 4 >= 4.3.0, PHP 5)
: Crée une image à partir d'une chaîne - (PHP 4 >= 4.0.4, PHP 5)
: Crée une nouvelle image en couleurs vraies - (PHP 4 >= 4.0.6, PHP 5)
: Copie, redimensionne, rééchantillonne une image - (PHP 4 >= 4.0.6, PHP 5)
: Détruit une image - (PHP 4, PHP 5)
: Envoie une image GIF vers un navigateur ou un fichier - (PHP 4, PHP 5)
: Envoie une image JPEG vers un navigateur ou un fichier - (PHP 4, PHP 5)
: Envoie une image PNG vers un navigateur ou un fichier - (PHP 4, PHP 5)
: Affiche une image WBMP - (PHP 4 >= 4.0.1, PHP 5)
Commentaire
je sort une donnée d'un base mysql comment l'afficher svp?
 
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Librairie PHP

Connexion

 
 

GD-Graphiques

 
 

PHP

 
 
 
 
    Offres d'emploi

Plus de 500 offres d'emploi PHP/MySQL

Offres d'emploi
 
    Editeur PHP
 
        Publicité