2013-03-18 1 views
2

아래 코드에서 imagemagick 처리를 통해 이미지를 출력하려고합니다. 여기서 iam은 입력 이미지에 테두리 반경을 적용합니다. 다음 코드로 출력 폴더에 이미지를 저장할 때 결과가 나타납니다.PHP Imagemagick - 로컬 폴더에 저장하지 않고 이미지를 출력하려고 할 때 패스 스루가 작동하지 않습니다.

<?php 
$input = "input.png"; 
$s = 10; 
$t = 10; 
$size = getimagesize ($input); 
$output = $outputfolder . $outputname; 
exec("convert -size " . $size [0] . "x" . $size [1] . " xc:none -fill -transparent 
-draw \"roundRectangle 0,0 " . $size [0] . "," . $size [1] . " $s,$t\" " . $input . 
" -compose SrcIn -composite " . $output . " "); 
?> 

로컬 폴더에는 저장되지 않았지만 헤더 내용 유형으로 출력을 표시하려고합니다. 이 일을하기 위해 패스 스루를 사용합니다.하지만 출력이 나오지 않습니다. 다음 코드로 시도합니다.

<?php 
$input = "input.png"; 
header("Content-Type: image/png"); 
$size = getimagesize ($input); 
$s = 10; 
$t = 10; 
$cmd = " - size " . $size [0] . 
       "x" . $size [1] . " xc:none -fill -transparent -draw 
\"roundRectangle 0,0 " . 
       $size [0] . "," . $size [1] . " $s,$t\" " . 
       " -compose SrcIn -composite" . 
       " -tile - $input"; 

passthru("convert $cmd PNG :-") 

?> 

제가 사용하는 명령에 문제가 있다고 생각합니다. 이걸 도와주세요. 미리 감사드립니다.

+1

명령을 반향 출력하고 콘솔을 통해 수동으로 실행하고 명령이 예상 한 결과를 출력하는지 확인하십시오. 명령이 데이터를 생성하지 않으면 패스 스루에 아무 것도 전달하지 않습니다. – bizzehdee

답변

0

파일을 저장하려는 추론을 설명 할 수 있습니까? 이미지가 어떤 목적으로 변환되고 있습니까?

내가 추가 정보를 얻을 때까지 나는 사지에 나가서 이미지가 CMS의 일부로 업로드되고 레이아웃에 맞게 조정 된 다음 사용자에게 표시되는 것으로 가정합니다.

개인적으로 출력 파일을 저장 한 다음 표시하려는 경우를 수행하십시오.

header("Content-Type: image/png"); 
echo file_get_contents($pathToImage) 

이미지를 실행하기 전에 파일이 이미 존재하는지 확인하십시오. 디스플레이 될 때마다 이미지를 다시 처리하는 것보다 더 효율적으로 실행됩니다.