내 웹 사이트의 사진 갤러리를 만들고 있습니다. 이것은 미니어처 그리드 (400 x 300px)입니다. 사용자가 미니탭을 클릭하면 이미지가 전체 크기로 나타납니다. 사용자가 이미지를 업로드 할 수는 있지만 문제는 크기가 400 x 300px 인 소형 이미지를 업로드하기 위해 올린 이미지를 자르기 및/또는 크기 조정하는 방법에 비례하여을 유지하는 것입니다.이미지를 자르고 크기를 자동으로 특정 크기로 조정
-1
A
답변
4
내 프로젝트에서이 작업을 수행했습니다. 모든 작업을 테스트하지 않아도됩니다. 이렇게하면 더 나은 해결책을 찾을 수 있습니다.
// RESIZE AN IMAGE PROPORTIONALLY AND CROP TO THE CENTER
function resize_and_crop($original_image_url, $thumb_image_url, $thumb_w, $thumb_h, $quality=75)
{
// ACQUIRE THE ORIGINAL IMAGE: http://php.net/manual/en/function.imagecreatefromjpeg.php
$original = imagecreatefromjpeg($original_image_url);
if (!$original) return FALSE;
// GET ORIGINAL IMAGE DIMENSIONS
list($original_w, $original_h) = getimagesize($original_image_url);
// RESIZE IMAGE AND PRESERVE PROPORTIONS
$thumb_w_resize = $thumb_w;
$thumb_h_resize = $thumb_h;
if ($original_w > $original_h)
{
$thumb_h_ratio = $thumb_h/$original_h;
$thumb_w_resize = (int)round($original_w * $thumb_h_ratio);
}
else
{
$thumb_w_ratio = $thumb_w/$original_w;
$thumb_h_resize = (int)round($original_h * $thumb_w_ratio);
}
if ($thumb_w_resize < $thumb_w)
{
$thumb_h_ratio = $thumb_w/$thumb_w_resize;
$thumb_h_resize = (int)round($thumb_h * $thumb_h_ratio);
$thumb_w_resize = $thumb_w;
}
// CREATE THE PROPORTIONAL IMAGE RESOURCE
$thumb = imagecreatetruecolor($thumb_w_resize, $thumb_h_resize);
if (!imagecopyresampled($thumb, $original, 0,0,0,0, $thumb_w_resize, $thumb_h_resize, $original_w, $original_h)) return FALSE;
// ACTIVATE THIS TO STORE THE INTERMEDIATE IMAGE
// imagejpeg($thumb, 'RAY_temp_' . $thumb_w_resize . 'x' . $thumb_h_resize . '.jpg', 100);
// CREATE THE CENTERED CROPPED IMAGE TO THE SPECIFIED DIMENSIONS
$final = imagecreatetruecolor($thumb_w, $thumb_h);
$thumb_w_offset = 0;
$thumb_h_offset = 0;
if ($thumb_w < $thumb_w_resize)
{
$thumb_w_offset = (int)round(($thumb_w_resize - $thumb_w)/2);
}
else
{
$thumb_h_offset = (int)round(($thumb_h_resize - $thumb_h)/2);
}
if (!imagecopy($final, $thumb, 0,0, $thumb_w_offset, $thumb_h_offset, $thumb_w_resize, $thumb_h_resize)) return FALSE;
// STORE THE FINAL IMAGE - WILL OVERWRITE $thumb_image_url
if (!imagejpeg($final, $thumb_image_url, $quality)) return FALSE;
return TRUE;
}
// USE CASE
echo '<a target="_blank" href="orig_600x374.jpg">Original 600x374</a><br/>';
resize_and_crop('orig_600x374.jpg', 'temp_100x100.jpg', 100, 100);
echo '<a target="_blank" href="temp_100x100.jpg">100x100</a><br/>';
resize_and_crop('orig_600x374.jpg', 'temp_200x100.jpg', 200, 100);
echo '<a target="_blank" href="temp_200x100.jpg">200x100</a><br/>';
resize_and_crop('orig_600x374.jpg', 'temp_200x300.jpg', 200, 300);
echo '<a target="_blank" href="temp_200x300.jpg">200x300</a><br/>';
[비례하여 더 큰 크기의 치수 PHP 화상]의
+0
안녕하세요, 저는이 솔루션을 시도했지만 상단과 하단에서 이미지를 자르지 만 오른쪽과 왼쪽면에서 이미지를자를 수는 없습니까? 이것에 대한 해결책이 있습니까? –
관련 문제
- 1. 이미지를 xMB 크기로 조정
- 2. 이미지를 고정 크기로 조정
- 3. 이미지를 자르고 크기를 조정하려면 어떻게해야합니까?
- 4. 자르기 및 특정 크기로 이미지 크기 조정
- 5. 페이지 크기를 화면 크기로 조정
- 6. 이미지 크기를 축소판 크기로 조정
- 7. JLabel의 크기를 전체 화면 크기로 조정 하시겠습니까?
- 8. QT QGraphicsScene 자동으로 원래 크기로 크기 조정
- 9. 이미지 미리보기 크기를 현명한 크기로 조정 하시겠습니까?
- 10. CSS로 원하는 크기로 이미지 크기를 조정 하시겠습니까?
- 11. 최대 크기로 이미지를 표시하도록 UITableViewCell 크기 조정
- 12. 런타임시 gridview의 항목 크기를 창 크기로 조정
- 13. 파노라마 이미지의 크기를 고정 크기로 조정
- 14. WebView 동적 크기를 콘텐츠 크기로 조정
- 15. WPF의 윈도우 크기를 자동으로 조정
- 16. 웹 사이트에서 이미지를 자르고 확대/축소하는 방법
- 17. 크기를 알 수없는 이미지를 자르지 않고 특정 크기로 크기 조정. (레터 박스)
- 18. UITabBarItem의 이미지를 특정 크기로 만듭니다.
- 19. 본문 이미지를 브라우저 창에 자동으로 크기를 조정 하시겠습니까?
- 20. 이미지를 특정 높이로 크기 조정
- 21. 이미지를 멋지게 크기를 조정 하시겠습니까?
- 22. JQuery Colorbox : 매우 큰 이미지를 주어진 크기로 크기 조정
- 23. 픽스 크기로 이미지를 표시
- 24. 슬라이더 이미지를 화면 크기로 조정 [jquery cycle plugin]
- 25. 폴더의 모든 이미지를 x, y, 너비, 높이로 자르고 크기를 조정 한 다음 저장하는 방법은 무엇입니까?
- 26. Django 관리자에게 이미지를 업로드하고 자르고 크기를 조정 한 다음 파일을 로컬에 저장하지 않고 Amazon S3로 보냅니다.
- 27. 사용자가 특정 크기로 양식의 크기를 조정하지 못하도록하십시오.
- 28. 고정 크기로 이미지 크기 조정
- 29. 이미지를 다른 이미지와 비교하여 자르고 크기를 조정하는 방법은 무엇입니까?
- 30. 창 크기로 도형 크기 조정
중복 가능성 (http://stackoverflow.com/questions/14096065/php-resize-image-proportionally-to-a-bigger-size) – waki
# justgoogleit ... – quickshiftin
http://stackoverflow.com/questions/6440113/proportional-image-resizing – chrki