ich möchte Flaggen-Grafiken für die Anzeige im Browser verkleinern.
Diese Liegen in der Größenordnung 500px x 300px bis 333px vor.
Das mit der reinen Gröenänderung habe ich bereits hinbekommen. Auch das Seitenverhältinis zu halten.
Allerdings wird der entsprechende Inhalt der Grafiken nicht richtig runterskalliert.
Hier mal mein Code:
- Code: Select all
header("Content-type: {$flag['flag_'.$_GET['type'].'_mime']}");
header("Content-Disposition: attachment; filename={$flag['id']}.{$file_extensions[$flag['flag_'.$_GET['type'].'_mime']]}");
file_put_contents(FILE_TMP."/".UNIQID."_flag_{$_GET['type']}".$flag['id'],$flag['flag_'.$_GET['type'].'_file']);
$img_size = getimagesize(FILE_TMP."/".UNIQID."_flag_{$_GET['type']}".$flag['id']);
$new_size['height'] = "100";
$new_size['ratio'] = $img_size[0]/$new_size['height'];
$new_size['width'] = $img_size[1]/$new_size['ratio'];
$img = ImageCreate ($new_size['height'], number_format($new_size['width'],'0',',','.'));
imagecopyresampled(
$img, // Destination-IMG
imagecreatefromgif(FILE_TMP."/".UNIQID."_flag_{$_GET['type']}".$flag['id']), // Source-IMG
0, // DST_X
0, // DST_Y
0, // SRC_X
0, // SRC_Y
number_format($new_size['width'],'0',',','.'), // DST_W
$new_size['height'], // DST_H
$img_size[0], // SRC_W
$img_size[1] // SRC_H
);
imagegif ($img);
unlink(FILE_TMP."/".UNIQID."_flag_{$_GET['type']}".$flag['id']);
Die Grafiken kommen aus der DB.
Dort liegen sie vollkommen korrekt vor.
Hier mal die Orignal-Flagge: [Entfernt]
Und hier da Ergebnis: [Entfernt]
Hoffe Ihr könnt mir helfen.
Kai aka Knight1