Hallo,
ich benötige etwas Hilf bei einem Script für Bildskalierung.
Ich erhalte bei dem Script beim hochladen von Bildern manchmal stark pixelige Bilder, als ob er ein ganz kleines Bild auf 1024 Pixel rechnet, woran kann das liegen.
Ich bin kein Experte bei PHP.
Grüsse,Raul
PHP-Code:
//RESIZE -----------------------------------------------------
//WICHTIG innerhalb RESIZE muss $bildname1 die Zahl angepasst werden 1,2,3,4,5 etc.
if (strrchr ($bildname1 , '.') == '.gif' ||
strrchr ($bildname1 , '.') == '.jpg' ||
strrchr ($bildname1 , '.') == '.jpeg' ||
strrchr ($bildname1 , '.') == '.png' )
{
// Orginalbild
$TNbild = $bildname1;
// Bilddaten feststellen
$size = getimagesize($PicPathIn . $TNbild);
$breite = $size[0];
$hoehe = $size[1];
$neueBreite = 1024; // <------------Pixel Breite
$neueHoehe = intval($hoehe * $neueBreite / $breite);
if($size[2] == 1) {
// GIF
$altesBild = ImageCreateFromGIF($PicPathIn . $TNbild);
$neuesBild = ImageCreateTrueColor($neueBreite, $neueHoehe);
ImageCopyResized($neuesBild, $altesBild, 0, 0, 0, 0, $neueBreite, $neueHoehe, $breite, $hoehe);
ImageGIF($neuesBild, $PicPathOut . $TNbild);
}
if($size[2] == 2) {
// JPG
$altesBild = ImageCreateFromJPEG($PicPathIn . $TNbild);
$neuesBild = ImageCreateTrueColor($neueBreite, $neueHoehe);
ImageCopyResized($neuesBild, $altesBild, 0, 0, 0, 0, $neueBreite, $neueHoehe, $breite, $hoehe);
ImageJPEG($neuesBild, $PicPathOut . $TNbild);
}
if($size[2] == 3) {
// PNG
$altesBild = ImageCreateFromPNG($PicPathIn . $TNbild);
$neuesBild = ImageCreateTrueColor($neueBreite,$neueHoehe);
ImageCopyResized($neuesBild, $altesBild, 0, 0, 0, 0, $neueBreite, $neueHoehe, $breite, $hoehe);
ImagePNG($neuesBild, $PicPathOut . $TNbild);
}
}
//RESIZE END --------------------------------------------