2014-01-14 2 views
1
  • 아래 URL에서 PNG 이미지를 가져옵니다.
  • PHP로 디스크를 저장하지 않고 PNG 이미지를 JPEG로 변환하고 싶습니다.
  • 마지막으로 $ content_jpg 변수에 JPEG 이미지를 할당하고 싶습니다.디스크에 저장하지 않고 이미지 형식 PNG를 JPEG로 변환 - PHP

    $url = 'http://www.example.com/image.png'; 
    $content_png = file_get_contents($url); 
    
    $content_jpg=; 
    
+1

'이미지를 변환?' 이미지를 편집하려면 이미지를 저장하지 않아도됩니다. 참조 : http://us1.php.net/manual/en/ref.image.php –

+1

나는 Oxwall에서 이것을하고있다. 변환 후 jpg 이미지를 시스템 생성 위치에 저장합니다. 그러나 나는 png 이미지 내용 ($ content_png)을 디스크에 쓰지 않고도 jpg로 변환 할 수 있는지 알고 싶습니다. 이것은 내가 찾은 튜토리얼에서 가능한 부울 C#입니다. – Duli

+0

@ Josh, 이미지 형식을 PNG에서 JPEG로 변경하고 싶습니다. 그것이 내가 이미지를 변환함으로써 의미하고자하는 것이며 편집 이미지가 아닙니다. 감사합니다 – Duli

답변

4

당신은이에 대한 gd library을 사용하고 싶습니다. 다음은 png 이미지를 찍은 다음 jpeg 이미지를 출력하는 예제입니다. 이미지가 투명하면 투명도가 대신 흰색으로 렌더링됩니다. 간체 대답은

<?php 

$file = "myimage.png"; 

$image = imagecreatefrompng($file); 
$bg = imagecreatetruecolor(imagesx($image), imagesy($image)); 

imagefill($bg, 0, 0, imagecolorallocate($bg, 255, 255, 255)); 
imagealphablending($bg, TRUE); 
imagecopy($bg, $image, 0, 0, 0, 0, imagesx($image), imagesy($image)); 
imagedestroy($image); 

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

$quality = 50; 
imagejpeg($bg); 
imagedestroy($bg); 

?> 
+0

함수 imagecreatefrompng도 url을 받아 들일 수 있습니다. 그래서 나는 파일 대신 함수를 전달하는 URL을 전달했다. 이 코드는 예상대로 작동하고 JPEG 파일을 브라우저에 저장합니다. 조쉬, 고마워. – Duli

5

, 당신은에 의해 무슨 뜻 이죠

// PNG image url 
$url = 'http://www.example.com/image.png'; 

// Create image from web image url 
$image = imagecreatefrompng($url); 

// Start output buffer 
ob_start(); 

// Convert image 
imagejpeg($image, NULL,100); 
imagedestroy($image); 

// Assign JPEG image content from output buffer 
$content_jpg = ob_get_clean(); 
관련 문제