Делаю уменьшенную копию изображений таким кодом
PHP:
скопировать код в буфер обмена
$x_ratio = $min_width / $gimag[0]; $y_ratio = $min_height / $gimag[1]; $ratio = min($x_ratio, $y_ratio); $use_x_ratio = ($x_ratio == $ratio); $new_width = $use_x_ratio ? $min_width : floor($gimag[0 ] * $ratio); $new_height = !$use_x_ratio ? $min_height : floor($gimag[1 ]*$ratio); $icfunc = 'imagecreatefrom'.$format; $isrc = $icfunc($ava_n); imagecopyresampled($idest, $isrc, 0 , 0 , 0 , 0 , $new_width, $new_height, $gimag[0 ], $gimag[1 ]); imagejpeg($idest, ROOT .'/min.'.$ava_id, 100 );
Только вот если картинка с прозрачным фоном, он заливает её белым, как этого избежать?
|