Когда я передискретизирую jpg, чтобы нарисовать границу вокруг изображения, качество изображения ужасно снижается, и получается jpeg очень низкого качества.
Вот мой код:
function addBorderpng($add,$bdr=0,$color='#000000'){ $arr = explode('.', $add); $extension = strtolower(end($arr)); $border=$bdr; $im=imagecreatefromjpeg($add); $width=imagesx($im); $height=imagesy($im); $img_adj_width=$width+(2*$border); $img_adj_height=$height+(2*$border); $newimage=imagecreatetruecolor($img_adj_width,$img_adj_height); imageantialias($newimage, true); $color_gb_temp =HexToRGB($color); $border_color = imagecolorallocate($newimage, $color_gb_temp['r'], $color_gb_temp['g'], $color_gb_temp['b']); imagefilledrectangle($newimage,0,0,$img_adj_width,$img_adj_height,$border_color); imagealphablending($newimage, true); imageantialias($newimage, true); imagecopyresized($newimage,$im,$border,$border,0,0,$width,$height,$width,$height); imagejpeg($newimage,$add,9); }