2011-12-27 10 views
0

gmagickは、より多くの機能を備えたimagemagickの新しいバージョンです。リソースの消費量は少なく、高速ですが、問題は、この素晴らしいツールについての議論が最近出ましたこれで http://devzone.zend.com/1559/manipulating-images-with-php-and-graphicsmagick/ 私はそれをWindowsマシンにインストールできませんでしたphpizeは動作しませんでしたので、私はいくつかの方法といくつかの方法をphpinfoページに取得することを試みたが、私はそれをさらに働かせることができませんでしたgmagick でこれは私がgmagickクラス及びOをinstanstiateするためにこのコードを使用Windowsのビスタにgmagick拡張モジュールをインストールするには

 <?php 
    $path="gallery/img1.jpg"; 
    // initialize object 
    $image = new Gmagick($path); 
    echo $image; 
    // read image file 
    $file = 'gallery/img1.jpg'; 
    $image->readImage($file); 
    echo '<img src="' . $file . '" width="200" height="150" /> <br/>'; 
    ?> 

を使用するコードであります次のように非常に大きなエラーが発生しています。 致命的なエラー:C:\ xampp \ htdocs \ junk \ imgproc \ imgproc1.phpの 'Unable can open file(gallery/img1.jpg)'というメッセージでキャッチされた例外 'GmagickException' :4スタックトレース:#0 C:\ xampp \ htdocs \ junk \ imgproc \ imgproc1.php(4):Gmagick - > __ construct( 'gallery/img1.jp ...')#1 {main} \ xamppの\ htdocsにライン4

答えて

3

A)あなたの見出しで質問に答えるためにジャンク\ imgprocの\のimgproc1.php \(それは)ここでは、他の読者を導くかもしれない:

WindowsがためGraphicsMagickの拡張のビルドPHPはここから入手できます: http://valokuva.org/builds/

ウェブサーバの出力phpinfo();を見て、スレッドセーフバージョンが必要かどうかを確認してください。エントリThread Safetyを探します。エントリPHP Extension Buildには、必要なVCバージョンもあります。 VC9の場合はAPI20090626,TS,VC9です。

、あなたの条件に一致する最新のビルドをダウンロードして、あなたのPHP/extディレクトリにそれを入れて、このようなあなたのphp.iniに追加します。

extension=php_gmagick_ts.dll 

あなたが使用している場合、DLLの名前を訂正することを忘れないでください非TSバージョン。

Apacheを再起動し、phpinfo();をチェックしてください。 Gmagickのコンストラクタは、パラメータとしてパスを期待していない

  1. が、完全な画像のファイル名(5月:今..

    あなたのコードの問題を解消するためにB)gmagickブロックがあるはずですパスを含む)。多くの場合、それを空のままにして、readImage()コールでファイルを提供する方がよいでしょう。

  2. (ルートから始まる)完全な$パスを試してみて、readImage()writeImage()でそれを使用する:

ここでは、コードの作業部分の例である:

<?php 
// assuming this is the path to your code and to your image files 
$path = 'C:\xampp\htdocs\junk\imgproc\'; 

$image = new Gmagick(); 
$file = 'img1.jpg'; 
$image->readImage($path.$file); 

// The rest of your code does not make any use of the GM instance, 
// so I add something functional here: create a grayscale version and show it 
$fileOut= 'img1_GRAY.jpg'; 
$image->setImageType(Gmagick::IMGTYPE_GRAYSCALE); 
$image->writeImage($path.$fileOut); 
$image->destroy(); 
echo "<img src='$fileOut' >"; 
?> 

これは、グレースケールを表示する必要がありますイメージファイルのバージョン。

+0

こんにちはJpsy、私はgmagickのインストールに問題がありました、多分私にいくつかのアドバイスを与えることができますか?ここで私の質問Stackoverflow:http://stackoverflow.com/questions/15098204/cant-install-gmagick-on-windows-7-xampp – misaizdaleka

+0

@misaizdaleka:私の[あなたの質問への答え]を参照してください(http:// stackoverflow。 com/a/15111425/430742)。 – Jpsy