Мне по дизайну захотелось сделать так, чтобы ширина превьюшки задавалась именно по ширине картинки, а не по ее длинной стороне, чтобы все картинки были одинаковой ширины, независимо от их высоты.
Делается просто. Открываем файл functions_posting.php из каталога includes, ищем:
Код: Выделить всё
function get_img_size_format($width, $height)
{
global $config;
// Maximum Width the Image can take
$max_width = ($config['img_max_thumb_width']) ? $config['img_max_thumb_width'] : 400;
if ($width > $height)
{
return array(
round($width * ($max_width / $width)),
round($height * ($max_width / $width))
);
}
else
{
return array(
round($width * ($max_width / $height)),
round($height * ($max_width / $height))
);
}
}
Код: Выделить всё
else
{
return array(
//round($width * ($max_width / $height)),
//round($height * ($max_width / $height))
//cielab change 2 strings
round($width * ($max_width / $width)),
round($height * ($max_width / $width))
);
}
В 2016 году я прикинул по гугл-аналитике для сайта, что оптимальная ширина превью для большинства смартфонов (с учетом умножения на 2) равна 256 px. Я так тогда все превью и нагенерил. В конце 2020 года я снова поинтересовался у гугл-аналитики, с каких по ширине экрана мобильных девайсов заходит большинство, и исходя из этого посчитал, что теперь актуальнее превью шириной 320 px. Учитывая что мобильный стиль форума хорошо растягивает на смартфонах ретина превью ровно вдвое и делает поля вокруг него. На первом месте или для 42 процентов всех смартфонов - это ширина экрана 720 px для этого сайта. На втором месте или 16 процентов - ширина 750 px (7 айфон), шестое место или 7 процентов - 828 px (11 айфон). Почему бы не сделать максимально красиво превьюшки для большинства, подумал я и перегенерил в FastStone весь архив графических вложений форума в превью 320 px по ширине. Оно и на экране компьютера смотрится неплохо, не хуже чем ширина 256 px.
Как создать превью повышенного разрешения в форуме phpBB для современных экранов с мелким пикселем рассказано по ссылке.