Jacobdo resize script kan ikke bruges på PNG
Hej alle experterNu har jeg prøvet jacobdo's resize script på forskellige måde og jeg kan godt få den til at resize .jpg, men ikke .png?
Er der nogen som kan hjælpe mig med at rette fejlen, eller måske forklare mig hvad det er der går galt.
http://www.eksperten.dk/artikler/1130
Har prøvet på to forskellige png billeder og et jpg billed, hvor det var det eneste der lykkes.
Her er måde jeg gjorder det på:
<?php
function resize( $filename, $newfilename, $maxw, $maxh, $quality=85 )
{
$ext = strtolower( pathinfo( $filename, PATHINFO_EXTENSION ) );
switch($ext)
{
case 'jpeg':
case 'jpe':
case 'jpg':
$srcim = imagecreatefromjpeg( $filename );
break;
case 'gif':
$srcim = imagecreatefromgif( $filename );
break;
case 'png':
$srcim = imagecreatefrompng( $filename );
break;
default:
return false;
}
$ow = imagesx( $srcim );
$oh = imagesy( $srcim );
$wscale = $maxw / $ow;
$hscale = $maxh / $oh;
$scale = min( $hscale, $wscale );
$nw = round( $ow * $scale, 0 );
$nh = round( $oh * $scale, 0 );
$dstim = imagecreatetruecolor( $nw, $nh );
imagecopyresampled( $dstim, $srcim, 0, 0, 0, 0, $nw, $nh, $ow, $oh );
switch($ext)
{
case 'jpeg':
case 'jpe':
case 'jpg':
imagejpeg( $dstim, $newfilename, $quality );
break;
case 'gif':
imagegif( $dstim, $newfilename );
break;
case 'png':
$png_q = floor( abs( $quality / 10 - 9.9 ) );
imagepng( $srcim, $newfilename, $png_q );
break;
default:
return false;
}
imagedestroy( $dstim );
imagedestroy( $srcim );
return file_exists($newfilename);
}
resize('nyt.png', 'nytt.png', 510, 510)
?>
Mange tak for jeres hjælp!
Med venlig hilsen
Kevin