Автоуменьшение картинок для любителей закидывать в альбом фотки напрямую с 7-ми мегапиксельного фотика :
В файле modules\photogallery\functions.php перед CODE: chmod($exbb['home_path'].UPLOADS_DIR.$storage_name, $exbb['ch_upfiles']);
вставить CODE:$maxsize=1024;
$resizeto=800;
$q=95;
$uploaded_to=$exbb['home_path'].UPLOADS_DIR.$storage_name;
list($w, $h, $type) = getimagesize($uploaded_to);
if($w>$maxsize | $h>$maxsize){
if($w>$h){$new_w=$resizeto;$new_h=$resizeto*($h/$w);}else{$new_w=$resizeto*($w/$h);$new_h=$resizeto;}
if ($type==1) {$im = imagecreatefromgif($uploaded_to);} else if ($type==2) {$im = imagecreatefromjpeg($uploaded_to);} else if ($type==3) {$im = imagecreatefrompng($uploaded_to);}
$normal_image = imagecreatetruecolor($new_w, $new_h);
imagecopyresampled($normal_image, $im, 0, 0, 0, 0, $new_w, $new_h, $w, $h);
imageinterlace($normal_image,1);
imagejpeg($normal_image,$uploaded_to,$q);
$width=$new_w;
$height=$new_h;
$UPLOAD_SIZE=filesize($uploaded_to);
}
Пояснения к настройкам: в данном случае если одна из сторон больше чем 1024 пикселя, активируется изменение размера. И ту сторону которая длиннее уменьшает до 800. Т.е. для стандартых фоток это будет 800х600 для горизонтальной и 600х800 для вертикальой фотки. $q - качество сжатия jpeg (в данном случае 95%).
Рекомендуется удалить проверку ограничения размеров (она больше не понадобится). CODE: if ($width > $IMG_width || $height > $IMG_height) {
$UPLOAD_ERROR = $lang['PHC_BadWidthHeight'];
return FALSE;
}
Теперь можно не тратить силы на обьяснение чайникам что картинки уменьшать надо
ЗЫ. Можно сделать вариант с тремя картинками: превью, большая(800х600), и оригинал (в случае если она была обработана). |