нус попытаюсь изложить как делал я)))
1. Открываем
picmgmt.inc.php
2. Ищем отрывок
if ($thumb_use == 'ht') {
$ratio = $srcHeight / $new_size;
} elseif ($thumb_use == 'wd') {
$ratio = $srcWidth / $new_size;
} else {
$ratio = max($srcWidth, $srcHeight) / $new_size;
}
$ratio = max($ratio, 1.0);
3. После него удаляем строки
$destWidth = (int)($srcWidth / $ratio);
$destHeight = (int)($srcHeight / $ratio);
4. Заместо них пишем
if ($new_size<400)
{
$destWidth = (int)$new_size;
$destHeight = (int)$new_size;
if($srcWidth/$srcHeight>=1)
{
$startx=($srcWidth-$srcHeight)/2;
$starty=0;
$myvalue=$srcHeight;
}else{
$startx=0;
$starty=($srcHeight-$srcWidth)/2;
$myvalue=$srcWidth;
}
}else{
$destWidth = (int)($srcWidth / $ratio);
$destHeight = (int)($srcHeight / $ratio);
}
5. Ниже ищем
case "gd2" :
6. Чуток ниже заменяем
imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $destWidth, $destHeight, $srcWidth, $srcHeight);
на
if (isset($startx)) imagecopyresampled($dst_img, $src_img, 0, 0, $startx, $starty, $destWidth, $destHeight, $myvalue, $myvalue);
else imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $destWidth, $destHeight, $srcWidth, $srcHeight);
7. сохраняем и галлерея будет автоматически делать квадратными изображения которые должны быть меньше 400 пикселей, фокус будет брать по центру исходного изображения, но это еще не все)))
для правильного отображения наших миниатюр
1. Открываем
functions.inc.php
2. Ищем
function compute_img_size($width, $height, $max)
{
global $CONFIG;
$thumb_use=$CONFIG['thumb_use'];
if($thumb_use=='ht') {
$ratio = $height / $max;
} elseif($thumb_use=='wd') {
$ratio = $width / $max;
} else {
$ratio = max($width, $height) / $max;
}
if ($ratio > 1.0) {
$image_size['reduced'] = true;
}
$ratio = max($ratio, 1.0);
3. Ниже заменяем
$image_size['width'] = (int) ($width / $ratio);
$image_size['height'] = (int) ($height / $ratio);
на
if($max<400)
{
$image_size['width'] = $max;
$image_size['height'] = $max;
}else{
$image_size['width'] = (int) ($width / $ratio);
$image_size['height'] = (int) ($height / $ratio);
}
4. сохраняем и радуемся
понимаю что описал не есть как, поэтому прикладываю мои файлы.