<?php
/*------------------------------*/
/*
Titre : Crop d'une image JPEG
Date édition : 15 Fev 2019
*/
/*------------------------------*/
function imgcrop($pic , $destpic , $haut=0 , $bas=0 , $gauche=0 , $droite=0){
/****************************************************************
* parametre1: fichier source *
* parametre2: fichier destination *
* parametre3: rognage en haut (en pixel) *
* parametre4: rognage en bas (en pixel) *
* parametre5: rognage à  gauche (en pixel) *
* parametre6: rognage à  droite (en pixel) *
****************************************************************/
/****************************************************************
* le travail se fait toujours tjs sur une img temp, *
* si elle n'existe pas, on la créé *
****************************************************************/
if ( file_exists ( $destpic )) {
$pic = $destpic;
}
else {
copy ( $pic, $destpic );
$pic = $destpic;
}
/****************************************************************
* on vérifie que les valeurs de rognage *
* ne supprime pas toute l'image *
****************************************************************/
$oriinfo = getimagesize ( $pic );
$orilargeur = $oriinfo[0];
$orihauteur = $oriinfo[1];
if (( $gauche + $droite >= $orilargeur ) or ( $haut + $bas >= $orihauteur ))
{
return FALSE;
}
/****************************************************************
* on vérifie que l'image est d'un format supporté *
* (JPEG uniquement pour l'instant) *
****************************************************************/
if ( $oriinfo[2] !== 2 ) {
return FALSE;
}
$imgori = imagecreatefromjpeg ( $pic );
$imgtmp = imagecreate ( $orilargeur - $gauche - $droite, $orihauteur - $haut
- $bas );
imagecopy ( $imgtmp, $imgori, 0, 0, $gauche, $haut, $orilargeur - $gauche -
$droite, $orihauteur - $haut - $bas );
imagejpeg ( $imgtmp, $destpic, 100 );
return TRUE;
}
?>