<?php
|
/*---------------------------------------------------------------*/
|
/*
|
Titre : Crop d'une image JPEG
|
|
URL : https://phpsources.net/code_s.php?id=955
|
Date édition : 15 Fév 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;
|
}
|
|
?>
|
|
|