Уменьшение с обрезкой вместо простого уменьшения по одному из ребер
Хм… С превьюшками фоток дела в этом плане получше обстоят.
@img_resize($uploadfile, $uploadthumb, $smallw, $smallw);
@img_resize($uploadfile, $uploadthumb, $smallw, $smallw, $is_square=true);
@img_resize($uploadfile, $uploadthumb, $smallw, $smallw, true);
А в SE-4 вообще круто зделали. Там после загрузки большого аватара, можно зделать маленький. Перемещая, увеличивая или уменьшая квадратик на большом аватаре. Всё что внутри квадратика, будет маленьким аватаром. Остальное обрезается.
вот кусок кода для примера:
{if $cfg.avatar} <a href="/users/{$id}/avatar.html">{$avatar}</a> {/if}
Пробую как описано здесь, но делаю что то не так...одним из способов как тут например топик
выдает ошибку синтаксис эрор...
файл usercore добавляем новую функцию
в файле вашего модуля заменяем блок
function usrImageHS($user_id, $usr_imageurl, $width='100px', $height='250px'){ if ($usr_imageurl && @file_exists($_SERVER['DOCUMENT_ROOT'].'/images/users/avatars/'.$usr_imageurl)){ return ''; } }
на простой вызов новой функции:
$usr['avatar'] = usrImageNOdb($usr['id'], 'medium', $usr['imageurl'], $usr['is_deleted']); $pattern = "//i"; $replacement = '';
$usr['avatar'] = usrImageHS($usr['id'], $usr['imageurl'], $width='100px', $height='250px');
можешь подсказать как прописать размеры аватара в такой записи?
{if $cfg.avatar} <a href="/users/{$id}/avatar.html">{$avatar}</a> {/if}
если, это компонент, то кое-что придётся исправить в ядре, чтобы добиться того же самого эффекта…
{if $cfg.avatar} <span class="avatar"> <a href="/users/{$id}/avatar.html">{$avatar}</a> </span> {/if}
// вырезаем квадратную верхушку по y, if ($new_width<$new_height) imagecopyresampled($idest, $isrc, 0, 0, 0, 0, $maxwidth, $maxwidth, min($new_width,$new_height), min($new_width,$new_height));
Рискуем порубать головы, но лично мне такой вариант больше нравится. Еще бы найти время разобраться, как ползунок прикрутить…