2014-02-21 88 views
0

有一個教程,我嘗試使用ImageMagick並試圖改變它的一些。圖像無法在ImageMagick/PHP上顯示

<?php 
$inFile = "/home/trainee/Desktop/image.jpg"; 
$outFile = "/home/trainee/Desktop/test-cropped.jpg"; 
$image = new Imagick($inFile); 
$image->cropImage(400,400, 30,10); 
$image->writeImage($outFile); 
?> 

預期輸出: [圖像顯示]

實際輸出: 無,空

預先感謝您

回答

0

Imagick::writeImage將寫入圖像到磁盤,返回真成功。如果你想發送的圖像數據輸出緩衝器(如Web瀏覽器),簡單地讀取所生成的文件

<?php 
$inFile = "/home/trainee/Desktop/image.jpg"; 
$outFile = "/home/trainee/Desktop/test-cropped.jpg"; 
$image = new Imagick($inFile); 
$image->cropImage(400,400, 30,10); 
if ($image->writeImage($outFile)) 
{ 
    header('Content-Type: image/jpeg'); 
    readfile($outFile); 
} 
?> 

您還可以利用Imagick::__toString優勢,並跳過圖像寫入到磁盤。

<?php 
$inFile = "/home/trainee/Desktop/image.jpg"; 
$outFile = "/home/trainee/Desktop/test-cropped.jpg"; 
$image = new Imagick($inFile); 
$image->cropImage(400,400, 30,10); 

header('Content-Type: image/jpeg'); 
echo $image; 
?>