2016-04-10 21 views
3

私はPHPとimagicを使ってイメージDPIを増やす方法を解明しようとしています。PHP:imagickを使用して画像のDPIを変更しますか?

ただし、次のコードを使用するたびに、私のページは500エラーを返します。

$im = new Imagick(); 
$im->setImageUnits(imagick::RESOLUTION_PIXELSPERINCH); 
$im->setImageResolution(300,300); 
$im->readImage("test.png"); 
$im->setImageFormat("png"); 
header("Content-Type: image/png"); 
echo $im; 

私はVPSを使用していますし、私も正常に動作し、このコードを試みたように、画像魔法がインストールされている知っている:

この

がコードである

<?php 
exec("/usr/bin/convert bb9yuui70.png -bordercolor black -border 10x10 bb9yuui70.png"); 
?> 
<img src="bb9yuui70.png"> 

を何かがあることを私行方不明ですか?私は想像力の世界にはかなり新しいです。

助けていただければ幸いです。

答えて

4

500サーバーエラー→は、ウェブサーバのエラーログを見て、あなたが表示されます。あなたが最初のエラーが表示された場合

Fatal error: Class 'Imagick' not found

または

Fatal error: Uncaught exception 'ImagickException' with message 'Can not process empty Imagick object'...

は、あなたが Imagickをインストールする必要がありますphpモジュール( imagemagickがインストールされているだけでは不十分です)。

しかし、また単位、解像度などを設定するために、あなたがイメージをロードするために最初を持っているので、あなたのコードが失敗し、インストールImagick ...

$im = new Imagick(); 
$im->readImage("test.png");         # <-------- 
$im->setImageUnits(imagick::RESOLUTION_PIXELSPERINCH); 
$im->setImageResolution(300,300); 
$im->setImageFormat("png"); 
header("Content-Type: image/png"); 
echo $im; 

と1実際には、Webサーバーのログファイルを見ることなく上記の2つのエラーを表示することもできます:次回はスクリプトの先頭にini_set('display_errors', 1); error_reporting(E_ALL);と書いてください。 。

関連する問題