Hey Leute
Hab eine Funktion geschrieben die mir ein Bild verkleinert beim Uploaden jedoch leidet nun die Qualität extrem darunter. Mach ich etwas falsch im Script bei der Berechnung?
später ruf ich es so auf:
resize_picture($_FILES['image'], $name, 250);
auf die grösse von 250Px.
Tipps?
Danke
Hab eine Funktion geschrieben die mir ein Bild verkleinert beim Uploaden jedoch leidet nun die Qualität extrem darunter. Mach ich etwas falsch im Script bei der Berechnung?
PHP:
function resize_picture($file, $nameb, $max_size) {
list($width, $height, $type, $attrs) = getimagesize($file['tmp_name']);
// Bild laden
switch ($type) {
case 1: $picture = imagecreatefromgif($file['tmp_name']); break;
case 2: $picture = imagecreatefromjpeg($file['tmp_name']); break;
case 3: $picture = imagecreatefrompng($file['tmp_name']); break;
default: return false; break;
}
// Maximale Dimensionen
$new_width = $width;
$new_height = $height;
if ($width > $max_size || $height > $max_size) {
if ($width > $height) {
$factor = $height / $width;
$new_width = $max_size;
$new_height = intval($max_size * $factor);
} else {
$factor = $width / $height;
$new_height = $max_size;
$new_width = intval($max_size * $factor);
}
}
// Bild skalieren und speichern
$scaled_picture = imagecreatetruecolor($new_width, $new_height);
imagecopyresized($scaled_picture, $picture, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
return imagejpeg($scaled_picture, "../category/$nameb.jpg");
}
später ruf ich es so auf:
resize_picture($_FILES['image'], $name, 250);
auf die grösse von 250Px.
Tipps?
Danke