2014-02-21 68 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; 
?>