2012-07-18 4 views
1

나는 특정 크기의 이미지를 가지고 있는데, 크기를 축소하려고합니다.이미지를 브라우저에 표시하기 전에 크기를 재조정하는 방법은 무엇입니까?

내가 조정에 저장하지 않으

, 난 내가 a를 WideImage 라이브러리와 같은 모양과 imagecopyresampled

경우를했다 한

브라우저에서 그들에게 크기를 이미지로드를 때마다 다시 할 내가 WideImage::load($_GET['img'])->resize(500, 300)->output('jpg', 90);을 사용하고 나는이 이미지와 실제 이미지가 아닌 소스 코드를 얻는다.

은 또한이 방법을

public function resizeImage($originalImage,$toWidth,$toHeight) 
    { 

     list($width, $height) = getimagesize($originalImage); 
     $xscale=$width/$toWidth; 
     $yscale=$height/$toHeight; 

     if ($yscale>$xscale){ 
      $new_width = round($width * (1/$yscale)); 
      $new_height = round($height * (1/$yscale)); 
     } 
     else { 
      $new_width = round($width * (1/$xscale)); 
      $new_height = round($height * (1/$xscale)); 
     } 


     $imageResized = imagecreatetruecolor($new_width, $new_height); 
     $imageTmp  = imagecreatefromjpeg ($originalImage); 
     imagecopyresampled($imageResized, $imageTmp, 0, 0, 0, 0, $new_width, $new_height, $width, $height); 

     return $imageResized; 
    } 

을 세례반 및 내가에 화상을 전달하고 결과를 에코 있을지 resource(192) of type (gd) 아닌 화상을 얻는다.

또한 어떤 이미지 경로가이 방법에 통과 확실하지 메신저의 http://.....jpg 또는 /var/www/images/....jpg

수있는 사람 그늘이에 대한 몇 가지 빛? 이 이미지를 해석하는 난 정말이 과정이

답변

1

나는 SimpleImage를 사용하고 있습니다. 정말 쉽습니다. 보세요 : Resizing images with PHP. 하지만 그것은 당신 문제에 관한 것이 아닙니다.

코드 : return $imageResized;는 실제 이미지가 아닌 gd 객체 만 반환합니다. 당신이 일을해야하기 때문에 URI를 사용하는 것은 좋은 방법이 아닙니다 URI 방식으로

  • 반환 이미지 데이터 (당신은 그것을 변환 할 필요가 당신은 2 일 수행 할 수 있습니다 : 스크립트 URL (http://localhost/image_converter.php?img=my_img.jpg 예)에 의해

    1. 로드 이미지를 당신은 적절한 헤더를 설정해야합니다 당신의 방법)

      사용) http://en.wikipedia.org/wiki/Data_URI_scheme#Examples

    (예 : 이미지가 직접하기 때문에 출력 버퍼링, 등 ... 및 HTML datas로, 거대하다 보면 ... header('Content-Type: image/jpeg');. 그리고 당신은 GD 객체 호출

    <?php 
    /* image_converter.php */ 
    $image = new Image(); //Will use method in unknown class found by you 
    $output = $image->resizeImage($_GET['my_img'],50,50); //We have gd object in $output 
    //!! DO NOT USE GET WITHOUT SECURING IT! 
    header('Content-Type: image/jpeg'); 
    imagejpeg($output); //This displays image dataa converted in jpg 
    exit; 
    ?> 
    

    에 대한 기능 imagejpeg (resource $image [, string $filename [, int $quality ]])을 사용해야합니다 : <img src="http://localhost/image_converter.php?img=my_img.jpg" alt="" />

  • 2

    이 방법이 아닙니다 당신은 HTTP 헤더를 설정해야

    URL로 로컬 파일 이름을 전달

    감사를 어떻게 작동하는지 이해하지 못하는 것 같습니다 이미지로

    header('Content-Type: image/jpeg'); 
    
    +0

    난 당신이 반환 PHP 파일에 이미지의'src'를 설정해야 @Patrioticcow 페이지가 – Patrioticcow

    +0

    나누기 그렇게 할 경우 이미지 만. – jeroen

    +0

    그래서 HTML 페이지에서 이미지를 출력 하시겠습니까? 만약 '' 태그가 – Musa

    관련 문제