2016-03-12 6 views
1

В настоящее время я работаю над решением, где я обрезаю изображение на прямоугольник с помощью jcrop, поэтому я могу использовать его как текстуру для 3D-куба (в трёхмерном кубе). И Я могу сохранить обрезанную область как изображения на сервере.Jcrop: Как преодолеть изображения с низким разрешением после обрезки?

Проблема заключается в том, что обрезанное изображение выглядит не очень хорошо, оно имеет низкое качество. Сначала я подумал, что это имеет какое-то отношение к DPI, потому что он сохраняет в 96 DPI, но некоторые изображения, которые я загружаю, также имеют 96 точек на дюйм и имеют хорошее качество.

Я думаю, что это как-то связано с jcrop. Кто-нибудь знает или имеет какой-либо опыт работы с jcrop по этой проблеме? Или я должен использовать другой плагин?

Original Image

Cropped Image

ответ

0

почему бы вам не использовать PHP систему изменения размера изображения. Я использую его на своем веб-сайте.

Проверить обои демо изменения размера (проверьте экран съемки): Happy diwali wallpaper

и оригинальные обои (кнопка загрузки, а также ниже вариант изменения размера на странице) diwali wallpaper

вы ча использовать

function resize($newWidth, $targetFile, $originalFile) { 

$info = getimagesize($originalFile); 
$mime = $info['mime']; 

switch ($mime) { 
     case 'image/jpeg': 
       $image_create_func = 'imagecreatefromjpeg'; 
       $image_save_func = 'imagejpeg'; 
       $new_image_ext = 'jpg'; 
       break; 

     case 'image/png': 
       $image_create_func = 'imagecreatefrompng'; 
       $image_save_func = 'imagepng'; 
       $new_image_ext = 'png'; 
       break; 

     case 'image/gif': 
       $image_create_func = 'imagecreatefromgif'; 
       $image_save_func = 'imagegif'; 
       $new_image_ext = 'gif'; 
       break; 

     default: 
       throw new Exception('Unknown image type.'); 
} 

$img = $image_create_func($originalFile); 
list($width, $height) = getimagesize($originalFile); 

$newHeight = ($height/$width) * $newWidth; 
$tmp = imagecreatetruecolor($newWidth, $newHeight); 
imagecopyresampled($tmp, $img, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height); 

if (file_exists($targetFile)) { 
     unlink($targetFile); 
} 
$image_save_func($tmp, "$targetFile.$new_image_ext"); 

}

Resize images with PHP, support PNG, JPG

 Смежные вопросы

  • Нет связанных вопросов^_^