Новичок
Покинул форум
Сообщений всего: 1
Дата рег-ции: Янв. 2016
Помог: 0 раз(а)
|
Здравствуйте, есть скрипт обрезки и сохранения изображения. Проблема в том что качество у imagejpeg стоит 100, но он все равно замыливает фото.
Демо http://skaz[dot]h919848s[dot]bget[dot]ru/sit[dot][dot][dot]rop/settings.php
Если нужно могу выслать исходники
P.S. это уже третий форум, может я как то неправильно вопрос формулирую, напишите я исправлю
PHP:
скопировать код в буфер обмена
<?PHP $imgUrl = $_POST['imgUrl']; // original sizes $imgInitW = $_POST['imgInitW']; $imgInitH = $_POST['imgInitH']; // resized sizes $imgW = $_POST['imgW']; $imgH = $_POST['imgH']; // offsets $imgY1 = $_POST['imgY1']; $imgX1 = $_POST['imgX1']; // crop box $cropW = $_POST['cropW']; $cropH = $_POST['cropH']; // rotation angle $angle = $_POST['rotation']; $jpeg_quality = 100; $output_filename = dirname($imgUrl). "/croppedImg_".rand(); $big_filename = $nazv[0]."/".$nazv[1]."/big/croppedImg_".rand(); { case 'image/png': $type = '.png'; break; case 'image/jpeg': $type = '.jpeg'; break; case 'image/gif': $type = '.gif'; break; default: die('image type not supported'); } //Check write Access to Directory "status" => 'error', "message" => 'Can`t write cropped File' ); }else{ // resize the original image to size of editor //Отключаем режим сопряжения цветов //Включаем сохранение альфа канала imagecopyresampled($resizedImage, $source_image, 0 , 0 , 0 , 0 , $imgW, $imgH, $imgInitW, $imgInitH); // rotate the rezized image $rotated_image = imagerotate($resizedImage, -$angle, 0 ); // find new width & height of rotated image $rotated_width = imagesx($rotated_image); $rotated_height = imagesy($rotated_image); // diff between rotated & original sizes $dx = $rotated_width - $imgW; $dy = $rotated_height - $imgH; // crop rotated image to fit into original rezized rectangle //Включаем сохранение альфа канала imagecopyresampled($cropped_rotated_image, $rotated_image, 0 , 0 , $dx / 2 , $dy / 2 , $imgW, $imgH, $imgW, $imgH); // crop image into selected area //Включаем сохранение альфа канала imagecopyresampled($final_image, $cropped_rotated_image, 0 , 0 , $imgX1, $imgY1, $cropW, $cropH, $cropW, $cropH); // finally output png image if($type == '.png') { imagepng($final_image, $output_filename.$type, 0 ); } else { imagejpeg($final_image, $output_filename.$type, $jpeg_quality); } "status" => 'success', "url" => $output_filename.$type ); }
|