Vous êtes ici Codes PHP et MySQL > GD-Graphiques > Création de miniatures carrées à partir d'image de...

 

Création de miniatures carrées à partir d'image de taille variable.

Ce code vous permettra de créer des miniatures carrées pour vos albums photos par exemple. Ce qui donne souvent mieux que des miniatures au format de la photo (surtout lorsqu'on a quelques photos verticales au milieu de photo horizontales)
Vous pouvez définir la taille de la miniature à créer et le positionnement du carrée.
Comme positionnement vous pouvez utilisez "top","bottom","left","right" et "center"(ou n'importe quoi d'autres). Votre photo sera recadré en fonction de ces paramètres (uniquement s'il correspondent aux type de photo... si vous mettez "top" pour une photo horizontale, votre carré sera pris au milieu)
 
mercier133
Site de l'auteur voir
[14] sources en PHP voir
Code vu 1078 fois
Enregistré le 26 Mars 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éation de miniatures carrées à partir d'image de taille variable.
  • 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.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Création de miniatures carrées à partir d'image de...     */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts580-PHP.htm              */
/* Auteur         : mercier133                                                */
/* Date édition   : 26 Mars 2010                                              */
/* Website auteur : http://www.servicesgratis.net                             */
/*                                                                            */
/******************************************************************************/
 

/*
 * Permet de créer une miniature carrée d'une image de forme quelconque.     
 * $src     désigne le nom de l'image source                
 * $dest     désigne le nom de l'image d'origine                
 * $largeur     désigne la largeur du carré de la miniature            
 * $pos     peut prendre les valeurs suivante :                 
 *             "left", "right" (si la photo est horizontale)
 *             "bottom","top" (si la photo est verticale) 
 *            ou n'importe quelle autre valeur pour le milieu.
*/  
function images_resize_carre($src$dest$largeur$pos){
  list($srcX$srcY$type$attr) = getimagesize($src);
  $imgSrc=imagecreatefromjpeg($src); 
  if (empty($imgSrc)){ 
      return false; 
  }
  if($srcX>= $srcY){
      $dim=$srcY;
      $horizontale=true;
  }
  elseif($srcX<= $srcY){
      $dim=$srcX; 
      $verticale=true;
  }
  else{
      $dim=$srcX;
  }   
  //on determine le point de depart x,y
  if($horizontale)
  {
   switch($pos){
    case "left":
      $point_x_ref="0";
      $point_y_ref="0";
    break;
    case "right":
      $point_x_ref=($srcX)-($dim);
      $point_y_ref="0";
    break;
    default: 
      $point_x_ref=($srcX/2)-($dim/2);
      $point_y_ref="0";
    break;
    }
  }
  elseif($verticale)
  {
   switch($pos){
    case "top":
      $point_x_ref="0";
      $point_y_ref="0";
    break;
    case "bottom":
      $point_x_ref="0";
      $point_y_ref=($srcY)-($dim);
    break;
    default: 
      $point_x_ref="0";
      $point_y_ref=($srcY/2)-($dim/2); 
    break;
   }
  }
  $imDest=@imagecreatetruecolor($largeur$largeur); 
          
  imagecopyresampled($imDest$imgSrc00$point_x_ref$point_y_ref$largeur $largeur$dim$dim); 
  imagedestroy($imgSrc); 
  imagejpeg($imDest$dest100); 
  imagedestroy($imDest); 
  return true;
}
//Exemple : 
images_resize_carre("test.jpg","test_carre.jpg",100,"left");
?>

 

Fonctions du code

: Retourne la taille d'une image - (PHP 4, PHP 5)
: Transforme une liste de variables en tableau - (PHP 4, PHP 5)
: Crée une nouvelle image à partir d'un fichier ou d'une URL - (PHP 4, PHP 5)
: Détermine si une variable contient une valeur non nulle - (PHP 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 JPEG vers un navigateur ou un fichier - (PHP 4, PHP 5)
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
 
        Publicité