Gå til innhold

Fjerne cropping-funksjon


Anbefalte innlegg

Hei! Jeg har et script som laster opp bilder og endrer størrelsen på bildet. Men i tillegg cropper den bildet til firkant. Hvordan skal man fjerne denne funksjonen fra scriptet og få det til å fungere? Når jeg prøver får jeg bare et rent sort bilde. Selve funksjonen er definert nederst i koden.

 


//ini_set('display_errors', 1);
//error_reporting(E_ALL);
if(isset($_POST))
{
$ThumbSquareSize   = 500;
$BigImageMaxSize   = 500;
$ThumbPrefix   = "thumb_";
$DestinationDirectory = 'files/';
$Quality	 = 90;
if(!isset($_FILES['ImageFile']) || !is_uploaded_file($_FILES['ImageFile']['tmp_name']))
{
  die('Something went wrong with Upload!');
}

$RandomNumber  = rand(0, 9999999999);
$ImageName   = str_replace(' ','-',strtolower($_FILES['ImageFile']['name']));
$ImageSize   = $_FILES['ImageFile']['size'];
$TempSrc   = $_FILES['ImageFile']['tmp_name'];
$ImageType   = $_FILES['ImageFile']['type'];
switch(strtolower($ImageType))
{
 case 'image/png':
  $CreatedImage =  imagecreatefrompng($_FILES['ImageFile']['tmp_name']);
  break;
 case 'image/gif':
  $CreatedImage =  imagecreatefromgif($_FILES['ImageFile']['tmp_name']);
  break;  
 case 'image/jpeg':
 case 'image/pjpeg':
  $CreatedImage = imagecreatefromjpeg($_FILES['ImageFile']['tmp_name']);
  break;
 default:
  die('Unsupported File!');
}

list($CurWidth,$CurHeight)=getimagesize($TempSrc);
$ImageExt = substr($ImageName, strrpos($ImageName, '.'));
  $ImageExt = str_replace('.','',$ImageExt);

$ImageName   = preg_replace("/\\.[^.\\s]{3,4}$/", "", $ImageName);

$NewImageName = $ImageName.'-'.$RandomNumber.'.'.$ImageExt;
$thumb_DestRandImageName  = $DestinationDirectory.$ThumbPrefix.$NewImageName;
$DestRandImageName	= $DestinationDirectory.$NewImageName;
if(resizeImage($CurWidth,$CurHeight,$BigImageMaxSize,$DestRandImageName,$CreatedImage,$Quality,$ImageType))
{
 if(!cropImage($CurWidth,$CurHeight,$ThumbSquareSize,$thumb_DestRandImageName,$CreatedImage,$Quality,$ImageType))
  {
echo 'Error Creating thumbnail';
  }
 list($ResizedWidth,$ResizedHeight)=getimagesize($DestRandImageName);

 echo '<table width="100%" border="0" cellpadding="4" cellspacing="0">';
 echo '<tr>';
 echo '<form>';
 ?> <a class="btn btn-pink" style="width: 150px;" onclick="tinyMCE.execCommand('mceInsertContent',false,'<img src=/files/<?php echo ''.$ThumbPrefix.$NewImageName.''; ?>>');return false;">Sett inn</a>  <?php
 echo '</form>';
 echo '</tr>';
 echo '</table>';

}else{
 die('Resize Error');
}
}

function resizeImage($CurWidth,$CurHeight,$MaxSize,$DestFolder,$SrcImage,$Quality,$ImageType)
{
if($CurWidth <= 0 || $CurHeight <= 0)
{
 return false;
}
$ImageScale	   = min($MaxSize/$CurWidth, $MaxSize/$CurHeight);
$NewWidth	 = ceil($ImageScale*$CurWidth);
$NewHeight	= ceil($ImageScale*$CurHeight);

if($CurWidth < $NewWidth || $CurHeight < $NewHeight)
{
 $NewWidth = $CurWidth;
 $NewHeight = $CurHeight;
}
$NewCanves  = imagecreatetruecolor($NewWidth, $NewHeight);
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;
 }
if(is_resource($NewCanves)) {imagedestroy($NewCanves);}
return true;
}
}
function cropImage($CurWidth,$CurHeight,$iSize,$DestFolder,$SrcImage,$Quality,$ImageType)
{
if($CurWidth <= 0 || $CurHeight <= 0)
{
 return false;
}

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;
 }
if(is_resource($NewCanves)) {imagedestroy($NewCanves);}
return true;
}

}

Endret av winter2012
Lenke til kommentar
Videoannonse
Annonse

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...