Vous désirez créer une miniature, avec cette classe CImage il suffit de faire :
$mImage = new CImage('mon_image.jpg');
// lors de la création de mImage des paramètres par défaut sont pris
// vous pouvez les modifier :
$mImage->set_size(300,300);
$mImage->set_autoresize(false);
$mImage->set_dir_destination('mon_repertoire_de_destination/');
$mImage->_creerMiniature();
$mImage->supprimer_image_temp(); // suppréssion de l'image temporaire (grand format)
D'autres options de retouches d'image seront bientôt dispo ;)
N'oubliez pas les chmod de vos répertoires ;)
A bientôt
http://www.mooveon.net - Partages de vidéos
Source / Exemple :
<?php
// class developped by Adrien HADJ SALAH from mooveon.net
class CImage
{
public $width;
public $height;
public $dir_destination;
public $autoresize;
public $url_image;
public $tbl_extension_admise;
// constructeur
public function __construct($url_image)
{
// par défaut on prend ces paramètres
$this->width = 200;
$this->height = 100;
$this->dir_destination = "mes_images/";
$this->autoresize = true;
$this->url_image = $url_image;
$this->tbl_extension_admise = array('jpg', 'gif', 'png', 'jpeg');
}
private function supprimer_image_temp()
{
if (file_exists($this->url_image))
unlink($this->url_image);
}
// Set/Get : autoresize : mode d'auto-redimensionnement 1, sinon 0
public function set_autoresize($mode)
{
if ($mode == true) {$this->autoresize=true;}
else {$this->autoresize=false;}
}
public function get_url_image()
{
return $this->url_image;
}
// Set/Get : url_image : url de l'image à traiter
public function set_url_image($url_image)
{
$this->url_image = $url_image;
}
public function get_url_image()
{
return $this->url_image;
}
// Set/Get : widthxheight : format de l'image à redimensionner, get_size() renvoit par exemple 640x480
public function set_size($width, $height)
{
$this->width = (int)$width;
$this->height = (int)$height;
}
public function get_size()
{
$size_string = $this->width."x".$this->height;
return $size_string;
}
// Set/Get : dir_ : repertoire de destination écrit de cette manière mon_repertoire/, attention à vos chmod (755)
public function set_dir_destination($dir)
{
$this->dir_destination = $dir;
}
public function get_dir_destination()
{
return $this->dir_destination;
}
public function add_extension_admise($new_ext)
{
$this->tbl_extension_admise[sizeof($this->tbl_extension_admise] = $new_ext;
}
public function _creerMiniature()
{
// vérification de l'extension
$url_image_tbl = explode('.', $this->url_image);
$extension = $url_image_tbl[sizeof($url_image_tbl)-1];
if (in_array(strtolower($extension), $this->tbl_extension_admise))
{
$im = ImageCreateTrueColor ($this->width, $this->height)
or die ("Erreur lors de la création de l'image");
$source = ImageCreateFromJpeg($this->url_image);
$largeurSource = imagesx($source);
$hauteurSource = imagesy($source);
if ($this->autoresize==true)
{
$this->height = $this->width*$hauteurSource/$largeurSource; // mode autoredimensionnement
}
ImageCopyResampled($im, $source, 0, 0, 0, 0, $largeurDestination, $hauteurDestination, $largeurSource, $hauteurSource);
$miniature = $this->dir_directory.basename($this->url_image);
ImageJpeg ($im, $miniature);
echo("Félicitation, voici l'adresse de la miniature :<br><br>$miniature");
}
else
{
echo("Désolé votre fichier ne possède pas une extension autorisée...");
}
}
}
?>
Conclusion :
J'ai mis à jour la source en prenant en compte vos remarques
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.