Logo

[php] Codeschnipsel: Bild verkleinern

Verkleinert ein Bild (JPG) auf eine festgelegte Größe.
Benötigt die GD-Bibliothek ab Version 1.8.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
$dateiname 
"bild.jpg";
// maximale Breite und Höhe
$breite 800;
$hoehe 600;
// originale Breite und Höhe
list($breite_orig$hoehe_orig) = getimagesize($dateiname);
if(
$breite_orig <= $breite && $hoehe_orig <= $hoehe)
{
    
// Bild hat bereits korrekte Größe
}
else
{
    
// Bild verkleinern
    // Verhältnis Breite / Höhe bestimmen
    
$ratio $breite_orig $hoehe_orig;
    if(
$breite $hoehe $ratio)
        
$breite $hoehe $ratio;
    else
        
$hoehe $breite $ratio;
    
// neues Bild erstellen
    
$bild_neu imagecreatetruecolor($breite$hoehe);
    
$bild_orig imagecreatefromjpeg($dateiname);
    
// original Bild verkleinern
    
imagecopyresampled($bild_neu$bild_orig0000$breite
$hoehe$breite_orig$hoehe_orig);
    
// neues Bild speichern
    
imagejpeg($bild_neu$dateiname100);
    
// Speicher freigeben
    
imagedestroy($bild_orig);
    
imagedestroy($bild_neu);
}
?>