saveImage($CurWidth, $CurHeight, $CreatedImage, $DestFolder, $Quality, $ImageType)) {
/*
We have succesfully resized and created thumbnail image
We can now output image to user's browser or store information in the database
echo '
';
echo '';
echo ' | ';
echo '
';
echo ' | ';
echo '
';
echo '
';*/
} else {
return FALSE; //output error
}
return TRUE;
}
// This function will proportionally resize image
public function resizeImage($CurWidth, $CurHeight, $MaxSize, $DestFolder, $SrcImage, $Quality, $ImageType)
{
//Check Image size is not 0
if ($CurWidth <= 0 || $CurHeight <= 0) {
return FALSE;
}
//Construct a proportional size of new image
$ImageScale = min($MaxSize / $CurWidth, $MaxSize / $CurHeight);
$NewWidth = ceil($ImageScale * $CurWidth);
$NewHeight = ceil($ImageScale * $CurHeight);
$NewCanves = imagecreatetruecolor($NewWidth, $NewHeight);
// Resize Image
if (imagecopyresampled($NewCanves, $SrcImage, 0, 0, 0, 0, $NewWidth, $NewHeight, $CurWidth, $CurHeight)) {
switch (strtolower($ImageType)) {
case 'image/png':
imagepng($NewCanves, $DestFolder);
break;
case 'image/gif':
imagegif($NewCanves, $DestFolder);
break;
case 'image/jpeg':
case 'image/pjpeg':
imagejpeg($NewCanves, $DestFolder, $Quality);
break;
default:
return FALSE;
}
//Destroy image, frees memory
if (is_resource($NewCanves)) {
imagedestroy($NewCanves);
}
return TRUE;
}
}
//This function corps image to create exact square images, no matter what its original size!
public function cropImage($CurWidth, $CurHeight, $iSize, $DestFolder, $SrcImage, $Quality, $ImageType)
{
//Check Image size is not 0
if ($CurWidth <= 0 || $CurHeight <= 0) {
return FALSE;
}
//abeautifulsite.net has excellent article about "Cropping an Image to Make Square bit.ly/1gTwXW9
if ($CurWidth > $CurHeight) {
$y_offset = 0;
$x_offset = ($CurWidth - $CurHeight) / 2;
$square_size = $CurWidth - ($x_offset * 2);
} else {
$x_offset = 0;
$y_offset = ($CurHeight - $CurWidth) / 2;
$square_size = $CurHeight - ($y_offset * 2);
}
$NewCanves = imagecreatetruecolor($iSize, $iSize);
if (imagecopyresampled($NewCanves, $SrcImage, 0, 0, $x_offset, $y_offset, $iSize, $iSize, $square_size, $square_size)) {
switch (strtolower($ImageType)) {
case 'image/png':
imagepng($NewCanves, $DestFolder);
break;
case 'image/gif':
imagegif($NewCanves, $DestFolder);
break;
case 'image/jpeg':
case 'image/pjpeg':
imagejpeg($NewCanves, $DestFolder, $Quality);
break;
default:
return FALSE;
}
//Destroy image, frees memory
if (is_resource($NewCanves)) {
imagedestroy($NewCanves);
}
return TRUE;
}
}
public function saveImage($CurWidth, $CurHeight, $srcImage, $DestFolder, $Quality, $ImageType)
{
//Check Image size is not 0
if ($CurWidth <= 0 || $CurHeight <= 0) {
return FALSE;
}
$NewCanves = $srcImage;
switch (strtolower($ImageType)) {
case 'image/png':
imagesavealpha($NewCanves, true);
$color = imagecolorallocatealpha($NewCanves, 0, 0, 0, 127);
imagefill($NewCanves, 0, 0, $color);
imagepng($NewCanves, $DestFolder);
break;
case 'image/gif':
imagegif($NewCanves, $DestFolder);
break;
case 'image/jpeg':
case 'image/pjpeg':
imagejpeg($NewCanves, $DestFolder, $Quality);
break;
default:
return FALSE;
}
//Destroy image, frees memory
if (is_resource($NewCanves)) {
imagedestroy($NewCanves);
}
return TRUE;
}
/**
* Funzione che passati i valori esegue l'operazione relativa in base all'analisi dei file attualmente presenti
*
* @param $inputFileName
* @param $formImageName
* @param $oldImageRecord
* @param $imagePath
* @param $nomeFile
* @param bool|true $randomizeImageName
*
* @return mixed|string
*/
public function image_operation($inputFileName, $formImageName, $oldImageRecord, $imagePath, $nomeFile, $randomizeImageName = true)
{
//Controllo che il nome del file sia valido
if (!empty($_FILES[$inputFileName]) && $_FILES[$inputFileName]['name'] != '') {
if($randomizeImageName){
$nomeFile = time() ."_". str_replace(' ', '-', strtolower($nomeFile));
}else{
$nomeFile = str_replace(' ', '-', strtolower($nomeFile));
}
}
//Vedo che operazione eseguire sul file immagine memorizzato nel file system
if (!empty($_FILES[$inputFileName]) && $nomeFile != '') {
if ($oldImageRecord != null) { //AGGIORNAMENTO
if ($oldImageRecord[$formImageName] != '' && file_exists($imagePath . $oldImageRecord[$formImageName])) {
unlink($imagePath . $oldImageRecord[$formImageName]); //Elimina la vecchia precendente dal file system
}
}
if (!$this->direct($imagePath, $inputFileName,$nomeFile)) { //Memorizza la nuova immagine
return 'error';
}
} elseif (empty($_FILES[$inputFileName]) && $nomeFile == '') { //CANCELLO SOLO L'IMMAGINE
if ($oldImageRecord != null) {
if ($oldImageRecord[$formImageName] != '' && file_exists($imagePath . $oldImageRecord[$formImageName])) {
unlink($imagePath . $oldImageRecord[$formImageName]);
}
}
}
return (!$nomeFile) ? null : $nomeFile;
}
/**
* Controlla che l'immagine esiste e nel caso posistivo la elimina del fyle system
* @param $nomeFile
* @param $path
*/
public function deleteImage($nomeFile, $path)
{
if (file_exists($path . $nomeFile)) {
@unlink($path . $nomeFile);
}
}
}