2016-11-30 8 views
0

複数の画像に同時に色付きの四角形を描画する必要があります。一度に複数の画像に塗りつぶし矩形を描画する方法は?

$path  = "D:\Images\sample.png";  
$result_path = "D:\Images\output\sample_output.png"; 
$image  = imagecreatetruecolor(500, 700); 
$image  = imagecreatefrompng($path); 
$color  = imagecolorallocatealpha($image, 181, 255, 1, 75); 
imagefilledrectangle($image, 15, 15, 30, 30, $color); 
header('Content-Type: image/png'); 
imagepng($image, $result_path); 
imagedestroy($image); 

このコードは、単一のイメージで満たされた四角形を描画するのに役立ちました。

xとyの指定された座標で複数の画像に塗りつぶし矩形を描画することはできますか?

+1

パスを使用して配列を作成し、それを反復処理することはできますか? – Ravenix

答えて

0

PHPで複数の画像を異なる要求から同時に描画するには、画像を静的なファイル名に保存できません。 $ result_pathはNULLにするか、imagepngへの呼び出しに2番目の引数を含めないでください。これをimagepng($ image)に減らすことができます。あなたが投稿したコードは、ファイルにpngを出力しますが、画像は表示されません。

+0

$ result_pathのイメージ名はすべて同じではありません。複数のイメージに対して動的に提供されるため、結果のパスにイメージが異なる名前で作成されます。 – Kavya

+0

その場合、Ravenixが言ったことはあなたのソリューションです。 PHPは良いマルチスレッドのサポートを持っておらず、PHPの最新バージョンはWeb(CGI)からのマルチスレッドを許可していません。これをシェルから実行する場合は、PHPスレッド拡張を使用してイメージを同時に作成することができます。 –

関連する問題