Beckie
Новичок
Загрузка фото, без потери пропорций.
Уже какой час бьюсь над решением данной проблемы.
Уже как бы придумал, но чет не работает. Вот и решил спросить у умных людей.
Самый простой вариант, это назначить фиксированную ширину и выставить определенное ограничение на высоту, но фотки бывают разные, у меня вот допустим на фотике 683х1024 , а 1024 уже будет на некоторых мониторах вылазить за экран.
В общем легче будет линкануть код:
Вот этот фрагмент бы доработать.
Я думал сделать цикл, который бы делил допустим на 10% $nx и $ny до тех пор, пока $ny не впишется допустим в 700px или 600px, но толи я неправильно цикл написал, толи еще что-то.
Заранее огромное спасибо!
Сильно не пинайте.
Уже какой час бьюсь над решением данной проблемы.
Уже как бы придумал, но чет не работает. Вот и решил спросить у умных людей.
Самый простой вариант, это назначить фиксированную ширину и выставить определенное ограничение на высоту, но фотки бывают разные, у меня вот допустим на фотике 683х1024 , а 1024 уже будет на некоторых мониторах вылазить за экран.
В общем легче будет линкануть код:
PHP:
$im = imagecreatefromjpeg($fullpath);
$ox = imagesx($im); $oy = imagesy($im);
$test = $ox / $oy; if($test < 0.6) {exit();}
if($ox > 300 && $oy > 100) {
if($ox > 800) {$ox = 800;} $upload->thumbnail($fullpath,$thumb800,$ox);
}
function thumbnail($fullpath,$thumbfolder,$size) {
$im = imagecreatefromjpeg($fullpath);
$ox = imagesx($im);
$oy = imagesy($im);
$nx = $size;
$ny = floor($oy * ($nx / $ox));
if($ny > 800) {exit();}
$nm = imagecreatetruecolor($nx, $ny);
imagecopyresized($nm, $im, 0,0,0,0,$nx,$ny,$ox,$oy);
imagejpeg($nm, $thumbfolder);
}
Вот этот фрагмент бы доработать.
PHP:
$nx = $size;
$ny = floor($oy * ($nx / $ox));
if($ny > 800) {exit();}
Заранее огромное спасибо!
Сильно не пинайте.


