Опитайте се да откриете блондинката. 😀
Отговорът е на един цък върху снимката.
При търсене в гугъл за php image resize най-отпред излизат простички алгоритми за преоразмеряване.
Обаче при по-особени размери, се дънят като ученичка на сефтето си. 😀 Разбира се, мрежата е необятна и се намират и цели класове, които вършат черната работа. Обаче правим едно елементарно допълнение и нещата си идват на мястото.
Както обикновено, ще си пусна функцията, за да не я търся когато ми притрябва. 😀
function maintbg($name, $tempname) { global $wd; list($width_orig, $height_orig) = getimagesize($tempname); // същността $width = 900; $height = 192; if (($width_orig > $width) || ($height_orig > $height)) { if (($width_orig > $width) && ($height_orig > $height)) { if ($width_orig > $height_orig) { $k = ($height / $height_orig); } else { $k = ($width / $width_orig); } } else { if ($width_orig > $width) { $k = ($width / $width_orig); } elseif ($height_orig > $height) { $k = ($height / $height_orig); } else { $k = 1; } } $width = round($width_orig * $k); $height = round($height_orig * $k); // край $small = imagecreatetruecolor($width, $height); $im = imagecreatefromjpeg($tempname); imagecopyresampled($small, $im, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig); ImageJPEG($small, $wd . "/bg/$name", 80); ImageDestroy($im); ImageDestroy($small); } else { move_uploaded_file($tempname, $wd . "/bg/$name"); } chmod($wd . "/bg/$name", 0644); }
Може пък да свърши на някой работа.
Забележка: При публикуването бях разместил двата коефициента. Сега е наред.
Доколкото разбирам, днес беше кофти ден за доста народ. Горе главата! Идва утре. 😉