

PHPからImagickで画像を合成したいのですが、その際に別のPHPにより動的に生成される画像を読み込みたいのです。

[code]

    $prm = "./makeimg?param...";  //指定したパラメータで生成される画像
    $img = new Imagick(...);      //ここで読み込みたい
    
[/code]

`$prm`で作成された動的な画像を`Imagick()`に渡したいとき、いったんテンポラリとしてファイルに書き出すしかないでしょうか？  
たとえば、curlで画像のデータを取得して`fwrite()`で書き出すとか必要ですか？


CC BY-SA 3.0
2016-03-07T14:38:36.303
22892
2016-03-08T00:50:47.370
7966
question
php imagemagick
PHPからImageMagickで動的生成された画像を使いたい


curlを組み合わせなくても、絶対URLは `new Imagick()` にそのまま渡すことができます。

[code]

    $img = new Imagick('http://dummyimage.com/qvga');
    
[/code]

一方Webサーバーを通さずにローカルのPHPスクリプトを使いたい場合、[CGIとして呼び出すことでGETパラメータを渡すことはできる](https://serverfault.com/a/187038)ものの、出力にヘッダ等が混ざっていて扱いが面倒かと思います。

それよりもmakeimgの処理を[Imagickオブジェクト](http://php.net/manual/ja/imagick.getimage.php)や[生の画像データ](http://php.net/manual/ja/imagick.getimageblob.php)を返す関数やメソッドに切り出して、別のスクリプトから直接呼び出せるようにしたほうが便利ではないでしょうか。


CC BY-SA 3.0
2016-03-08T00:50:47.370
22905
2016-03-08T00:50:47.370
2017-04-13T12:14:55.443
-1
8000
22892
answer