$size1 = 170;
$size2 = 128;
if($width > $height){
exec("convert ".$startfile." -resize x".$size2." -quality 100 ".$resultfile);
} else {
exec("convert ".$startfile." -resize ".$size1." -quality 100 ".$resultfile);
}
exec("convert ".$resultfile." -gravity Center -crop ".$size1."x".$size2."+0+0 ".$resultfile);
Нужна помощь в изменении размера изображения 170x128 px.Приведенная выше функция работает нормально, но есть одна проблема.Как вы можете видеть, если ширина изображения больше высоты, сценарий сначала делает изображение высотой 128 пикселей.Проблема возникает, когда есть небольшая разница между шириной и высотой.
Например, если размеры изображения 387x310 px, сценарий будет использовать оператор if ($ width> $ height) исделает изображение высотой 128px.Проблема в том, что при этом ширина изображения будет изменена до 160 пикселей.Но мне нужно 170 пикселей ширины после изменения размера.
Мне нужно знать, какой будет ширина изображения после изменения размера до 128 пикселей.Мне нужно что-то вроде этого:
if($width > $height && $width_after_resizing > 127) {
} else {
}
Есть ли способ, как рассчитать размеры изображения перед обрезкой?Спасибо.