Hallöchen,
habe folgendes Problem:
ein animiertes *.gif wird beim Upload in der Größe verändert (funktion siehe unten), dabei geht mir aber leider die Animation verloren...
hat einer nen Tipp?
wird aufgerufen:
habe folgendes Problem:
ein animiertes *.gif wird beim Upload in der Größe verändert (funktion siehe unten), dabei geht mir aber leider die Animation verloren...
hat einer nen Tipp?
PHP-Code:
///////////////////////////
function resizeImage($file, $save, $width, $height, $prop = TRUE) {
$infos = @getimagesize($file);
if($prop) {
// Proportionen erhalten
$iWidth = $infos[0];
$iHeight = $infos[1];
$iRatioW = $width / $iWidth;
$iRatioH = $height / $iHeight;
if ($iRatioW < $iRatioH)
{
$iNewW = $iWidth * $iRatioW;
$iNewH = $iHeight * $iRatioW;
} else {
$iNewW = $iWidth * $iRatioH;
$iNewH = $iHeight * $iRatioH;
} // end if
} else {
// Strecken und Stauchen auf Größe
$iNewW = $width;
$iNewH = $height;
}
if($infos[2] == 1) {
// Bild ist vom Typ gif
$imgA = imagecreatefromgif($file);
$imgB = imagecreatetruecolor($iNewW,$iNewH);
imagecopyresampled($imgB, $imgA, 0, 0, 0, 0, $iNewW,
$iNewH, $infos[0], $infos[1]);
imagejpeg($imgB, $save);
return true;
} elseif($infos[2] == 2) {
// Bild ist vom Typ jpg
$imgA = imagecreatefromjpeg($file);
$imgB = imagecreatetruecolor($iNewW,$iNewH);
imagecopyresampled($imgB, $imgA, 0, 0, 0, 0, $iNewW,
$iNewH, $infos[0], $infos[1]);
imagejpeg($imgB, $save);
return true;
} elseif($infos[2] == 3) {
// Bild ist vom Typ png
$imgA = imagecreatefrompng($file);
$imgB = imagecreatetruecolor($iNewW, $iNewH);
imagecopyresampled($imgB, $imgA, 0, 0, 0, 0, $iNewW,
$iNewH, $infos[0], $infos[1]);
imagepng($imgB, $save);
return true;
} else {
return false;
}
}
PHP-Code:
if(!$_FILES['bild']['error']){
resizeImage($_FILES['bild']['tmp_name'], $filename, 165, 300, true);
}else{
echo $_FILES['bild']['error'];
}
Kommentar