Lid |
|
Hallo,
De volgende code (ooit hier gevonden en wat aangepast) gebruik ik voor het uploaden van plaatjes.
function resize($filename, $dest, $width=0, $type=''){
//originele dimensies
$dimensions = getimagesize($filename);
$bronbreedte = $dimensions[0];
$bronhoogte = $dimensions[1];
if ($width == 0) { $width = $bronbreedte; }
//nieuwe dimensies met dezelfde ratio, de gewenste breedte geef je me in de aanroep ($width)
if ($bronbreedte > 0) {
$doelhoogte = ($bronhoogte * $width) / $bronbreedte;
$doelhoogte = round($doelhoogte, 0);
}
if(@imagecreatefromgif($filename)){
$img=imagecreatefromgif($filename);
$type_r='gif';
}
elseif(@imagecreatefromjpeg($filename)){
$img=imagecreatefromjpeg($filename);
$type_r='jpg';
}
elseif(@imagecreatefrompng($filename)){
$img=imagecreatefrompng($filename);
$type_r='png';
}
elseif(@imagecreatefromwbmp($filename)){
$img=imagecreatefromwbmp($filename);
$type_r='bmp';
}
else{
return false;
}
$type=($type=='')?$type_r:'';
//thumb met de nieuwe dimensies
$img_n=imagecreatetruecolor ($width, $doelhoogte);
imagecopyresampled($img_n, $img, 0, 0, 0, 0, $width, $doelhoogte, imagesx($img), imagesy($img));
if($type=='gif'){
imagegif($img_n, $dest);
}
elseif($type=='jpg'){
imagejpeg($img_n, $dest);
}
elseif($type=='png'){
imagepng($img_n, $dest);
}
elseif($type=='bmp'){
imagewbmp($img_n, $dest);
}
Return true;
}
function resize($filename, $dest, $width=0, $type=''){ //originele dimensies $bronbreedte = $dimensions[0]; $bronhoogte = $dimensions[1]; if ($width == 0) { $width = $bronbreedte; } //nieuwe dimensies met dezelfde ratio, de gewenste breedte geef je me in de aanroep ($width) if ($bronbreedte > 0) { $doelhoogte = ($bronhoogte * $width) / $bronbreedte; $doelhoogte = round($doelhoogte, 0); } if(@imagecreatefromgif($filename)){ $img=imagecreatefromgif($filename); $type_r='gif'; } elseif(@imagecreatefromjpeg($filename)){ $img=imagecreatefromjpeg($filename); $type_r='jpg'; } elseif(@imagecreatefrompng($filename)){ $img=imagecreatefrompng($filename); $type_r='png'; } elseif(@imagecreatefromwbmp($filename)){ $img=imagecreatefromwbmp($filename); $type_r='bmp'; } else{ return false; } $type=($type=='')?$type_r:''; //thumb met de nieuwe dimensies $img_n=imagecreatetruecolor ($width, $doelhoogte); imagecopyresampled($img_n, $img, 0, 0, 0, 0, $width, $doelhoogte, imagesx($img), imagesy($img)); if($type=='gif'){ imagegif($img_n, $dest); } elseif($type=='jpg'){ imagejpeg($img_n, $dest); } elseif($type=='png'){ imagepng($img_n, $dest); } elseif($type=='bmp'){ imagewbmp($img_n, $dest); } Return true; }
Nu wil ik een animated gif uloaden, en hij geeft aan dat het gelukt is, maar alleen het eerste frame van de Gif is zichtbaar. Hij looped hem dus niet. Iemand een idee hoe dit komt, en een oplossing om wel animated gif's te kunnen uploaden?
Alvast bedankt!
|