Hallo,
Ich möchte mit meinem script die Bilder, die der Nutzer hochlädt automatisch in ein Quadratisches Format schneiden.
Dabei soll immer der großmöglichste quadratische Bereich aus dem Bild ausgeschnitten werden.
Hier das aktuelle Script:
(...)
list ($b, $h, $t) = getimagesize($bild);
//Bild ist Breiter als Hoch --> Variablen bestimmen
if($b>$h)
{
$bcut=$b-$h;
$nh=$h;
$nb=$b-$bcut;
}
//Bild ist Höher als Breit --> Variablen bestimmen
if($h>$b)
{
$hcut=$h-$b;
$nb=$b;
$nh=$h-$hcut;
}
//Bild ist genauso Breiter wie Hoch --> Variablen bestimmen
if($b=$h)
{
$nh=$h;
$nb=$b;
}
//Bild zuschneiden
$resizedimg = imagecreatetruecolor( $nb, $nh );
imagecopyresized( $resizedimg, $quelle, 0, 0, 0, 0, $nb, $nh, $b, $h);
(...)
So, wenn das Bild breiter als hoch oder genauso breit wie hoch ist funktioniert das ganze auch perfekt.
Wenn das Bild aber höher als breit funktioniert das nicht wie gewollt.
Wo liegt mein Fehler ?
Ich hoffe meine Erklärung des Problems ist verständlich.
Ich möchte mit meinem script die Bilder, die der Nutzer hochlädt automatisch in ein Quadratisches Format schneiden.
Dabei soll immer der großmöglichste quadratische Bereich aus dem Bild ausgeschnitten werden.
Hier das aktuelle Script:
(...)
list ($b, $h, $t) = getimagesize($bild);
//Bild ist Breiter als Hoch --> Variablen bestimmen
if($b>$h)
{
$bcut=$b-$h;
$nh=$h;
$nb=$b-$bcut;
}
//Bild ist Höher als Breit --> Variablen bestimmen
if($h>$b)
{
$hcut=$h-$b;
$nb=$b;
$nh=$h-$hcut;
}
//Bild ist genauso Breiter wie Hoch --> Variablen bestimmen
if($b=$h)
{
$nh=$h;
$nb=$b;
}
//Bild zuschneiden
$resizedimg = imagecreatetruecolor( $nb, $nh );
imagecopyresized( $resizedimg, $quelle, 0, 0, 0, 0, $nb, $nh, $b, $h);
(...)
So, wenn das Bild breiter als hoch oder genauso breit wie hoch ist funktioniert das ganze auch perfekt.
Wenn das Bild aber höher als breit funktioniert das nicht wie gewollt.
Wo liegt mein Fehler ?
Ich hoffe meine Erklärung des Problems ist verständlich.
Kommentar