Habe Mal so ein Script zusammen geklebt - hier sind die Snippets
folgendes ist in einem Loop wo die Bilder $i revue passiert werden:
CODE //detect pix which are either too wide, too high or too heavy
$filetocheck = $imagelist[$i];
$filetocheckweight = filesize($filetocheck);
$filetochecksize = getimagesize($filetocheck);
$filetocheckwidth = $filetochecksize[0];
$filetocheckheight = $filetochecksize[1];
if(filesize($filetocheck)>120000 || $filetocheckwidth>750 || $filetocheckheight>750)
{
if($filetocheckwidth<750 && $filetocheckheight<750)
{
if($filetocheckwidth>$filetocheckheight)
{ResizeGD($filetocheck, $filetocheck, $filetocheckwidth);}
else
{ResizeGD($filetocheck, $filetocheck, $filetocheckheight);}
}
else
{
ResizeGD($filetocheck, $filetocheck, 750);
}
}
die Funktion dazu:
CODE
function ResizeGD($image, $newimage, $size) {
list ($width,$height,$type) = GetImageSize($image);
if($im = ReadImageFromFile($image,$type)){
//if image is smaller than the $size, make it actual $size
if($height < $size && $width < $size){
$newheight=$height;
$newwidth=$width;
}
//if image height is larger, height=$size, then calc width
else if($height > $width){
$newheight=$size;
$newwidth=($width / ($height/$size));//cast the resized width as int
}
//if image width is larger, width=$size, then calc width
else{
$newwidth=$size;
$newheight=($height / ($width/$size));//cast the resized height as int
}
$im2=ImageCreateTrueColor($newwidth,$newheight);
ImageCopyResampled($im2,$im,0,0,0,0,$newwidth,$newheight,$width,$height);
if(WriteImageToFile($im2,$newimage,$type)){
return true;
}
}
return false;