2013-08-08 2 views
3

저는 PHP에 익숙하지 않으며 이미지 업 스케일링에 대해 배우려고합니다. 이미지를 특정 크기로 업 스케일 할 수있는 방법을 보여 주시겠습니까? 예를 들어 가로 세로 비율을 유지하면서 다음 이미지의 크기를 조정하고 싶습니다. 이 작업을 수행 할 수 있다면, 당신은 예제를 보여주세요 수 enter image description herePHP 이미지가 상향 조정 되었습니까?

+0

jQuery/Javascript로 크기를 변경하는 대신 PHP를 사용하는 이유는 무엇입니까? 그 서버 쪽을 할 필요가 보이지 않습니까? – Severin

+0

['PHP GD'] (http://php.net/manual/en/book.image.php)를 확인하십시오. 그것은 당신이 필요로하는 모든 기능을 가지고 있습니다. 이 경우 다음을 필요로합니다. 1. 원본을로드하는'imagecreate * '함수. 2.'imagecreatetruecolor'를 사용하여 빈 대상 이미지를 만듭니다. 3.'imagecopyresized'를 사용하여 원본을 대상에 복사합니다. 4.'imagepng','imagegif' 또는'imagejpeg'를 사용하여 이미지를 파일로 저장 – AmazingDreams

답변

1
$source_image = imagecreatefromjpeg("osaka.jpg"); 
$source_imagex = imagesx($source_image); 
$source_imagey = imagesy($source_image); 
$dest_imagex = 300; 
$dest_imagey = 200; 
$dest_image = imagecreatetruecolor($dest_imagex, $dest_imagey); 

품질이 낮은, 그러나 빠른 당신은 고급 HTML/CSS에서 이미지를 수

imagecopyresampled($dest_image, $source_image, 0, 0, 0, 0, 
      $dest_imagex, $dest_imagey, $source_imagex, $source_imagey); 
+0

예제를 보여 주셔서 고마워요. –

0

당신이 정말로, 당신은 "imagecopyresampled"기능에서 볼 수 그렇게 PHP를 사용하려는 경우 :

imagecopyresampled on php.net with examples

그러나 비율을 유지하려면 너비를 계산하고 폭과 높이에 수동으로 적용해야합니다. 느린

imagecopyresized($dest_image, $source_image, 0, 0, 0, 0, 
      $dest_imagex, $dest_imagey, $source_imagex, $source_imagey); 

최고의 품질, 그러나 :

0

, 사용자 정의 한쪽을 설정하여 길이를 설정하고 반대편을 '자동'으로 설정합니다. 상향 조정 된 이미지에는 '일반'버전보다 더 많은 정보가 포함되어 있지 않으므로 PHP로 상향 조정할 필요가 없습니다. 더 많은 대역폭 만 소비합니다.

<img src="http://placekitten.com/50/50" style="width: 50px; height: auto;" /> 

<img src="http://placekitten.com/50/50" style="width: 200px; height: auto;" /> 

this fiddle을 참조하십시오.

관련 문제