Eagle-PsyX-
Erfahrenes Mitglied
Hi, hab mir eine Resizer Funktion aus PHP.net ( http://de.php.net/manual/de/function.imagecopyresized.php ) genommen. Doch es funktioniert nicht, wieso?
Die Klammer bei der IF Schleife ($width >= $dstx AND $height >= $dsty) wird an der falschen stelle geschloßen, aber wohin damit? Ich hab da etwas rumgespielt, klappt auch halber, nur ist das neue Bild leer (bzw. schwarz).
Keine Ideen?
Die Klammer bei der IF Schleife ($width >= $dstx AND $height >= $dsty) wird an der falschen stelle geschloßen, aber wohin damit? Ich hab da etwas rumgespielt, klappt auch halber, nur ist das neue Bild leer (bzw. schwarz).
PHP:
<?php
function makeIcons_MergeCenter($src, $dst, $dstx, $dsty){
//$src = original image location
//$dst = destination image location
//$dstx = user defined width of image
//$dsty = user defined height of image
$allowedExtensions = 'jpg jpeg gif png';
$name = explode(".", $src);
$currentExtensions = $name[count($name)-1];
$extensions = explode(" ", $allowedExtensions);
for($i=0; count($extensions)>$i; $i=$i+1){
if($extensions[$i]==$currentExtensions)
{ $extensionOK=1;
$fileExtension=$extensions[$i];
break; }
}
if($extensionOK){
$size = getImageSize($src);
$width = $size[0];
$height = $size[1];
if($width >= $dstx AND $height >= $dsty){
$proportion_X = $width / $dstx;
$proportion_Y = $height / $dsty;
if($proportion_X > $proportion_Y ){
$proportion = $proportion_Y;
}else{
$proportion = $proportion_X ;
}
$target['width'] = $dstx * $proportion;
$target['height'] = $dsty * $proportion;
$original['diagonal_center'] =
round(sqrt(($width*$width)+($height*$height))/2);
$target['diagonal_center'] =
round(sqrt(($target['width']*$target['width'])+
($target['height']*$target['height']))/2);
$crop = round($original['diagonal_center'] - $target['diagonal_center']);
if($proportion_X < $proportion_Y ){
$target['x'] = 0;
$target['y'] = round((($height/2)*$crop)/$target['diagonal_center']);
}else{
$target['x'] = round((($width/2)*$crop)/$target['diagonal_center']);
$target['y'] = 0;
}
if($fileExtension == "jpg" OR $fileExtension=='jpeg'){
$from = ImageCreateFromJpeg($src);
}elseif ($fileExtension == "gif"){
$from = ImageCreateFromGIF($src);
}elseif ($fileExtension == 'png'){
$from = imageCreateFromPNG($src);
}
$new = ImageCreateTrueColor ($dstx,$dsty);
imagecopyresampled ($new, $from, 0, 0, $target['x'],
$target['y'], $dstx, $dsty, $target['width'], $target['height']);
if($fileExtension == "jpg" OR $fileExtension == 'jpeg'){
imagejpeg($new, $dst, 70);
}elseif ($fileExtension == "gif"){
imagegif($new, $dst);
}elseif ($fileExtension == 'png'){
imagepng($new, $dst);
}
}
}
}
?>
Keine Ideen?
Zuletzt bearbeitet: