barentshavet Skrevet 7. november 2012 Del Skrevet 7. november 2012 (endret) 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 7. november 2012 av winter2012 Lenke til kommentar
Crowly Skrevet 8. november 2012 Del Skrevet 8. november 2012 Regner med du bare kan kommentere ut denne delen av koden if(!cropImage($CurWidth,$CurHeight,$ThumbSquareSize,$thumb_DestRandImageName,$CreatedImage,$Quality,$ImageType)) { echo 'Error Creating thumbnail'; } Lenke til kommentar
barentshavet Skrevet 11. november 2012 Forfatter Del Skrevet 11. november 2012 Regner med du bare kan kommentere ut denne delen av koden if(!cropImage($CurWidth,$CurHeight,$ThumbSquareSize,$thumb_DestRandImageName,$CreatedImage,$Quality,$ImageType)) { echo 'Error Creating thumbnail'; } Dette fungerte dessverre ikke. Lenke til kommentar
TheClown Skrevet 18. november 2012 Del Skrevet 18. november 2012 Hva mener du med at "det ikke fungerte"? Hva skjer når du fjerner linjene? Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå