- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPで行う最速の画像合成を教えて下さい。)
PHPで行う最速の画像合成方法
このQ&Aのポイント
- PHPを使用して、画質をあまり落とさずに1秒以下の処理時間で23個の画像を合成する方法を教えてください。
- 現在の処理方法では画質はキレイですが、処理時間が5.5秒かかってしまいます。
- 画質をあまり落とさずに処理時間を1秒以下にする方法を知りたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
1秒以内といわれても、マシンのスペックしだい(この場合はメモリの容量かな)ですので、やってみないとわかりませんが、ひとつの案としてください。 自分だったら、GDではなくimagickを使いますが、imagickが使える環境かどうかはわかりませんので、GDを使った例です。 $images = array("image1.png", "image2.png", "image3.png", "image4.png", "image5.png", ・・・・); $img = array(); for( $i=0;$i<24;$i++; ) { $img[$i] = imagecreatefrompng($images[$i]); $white = imagecolorallocate($img[$i], 255, 255, 255); imagecolortransparent($img[$i], $white); } for($i=1;$i<24;$i++) { imagecopymerge($img[0], $img[$i], 0, 0, 0, 0, 1120, 2016, 100); imagedestroy($img[$i]); } imagepng($img[0],出力ファイル名); imagedestroy($img[0]);
お礼
いただいたソースの通りに同じ環境で処理を行ってみましたが、結果は変わりませんでした。 現在、サーバーを借りて処理速度の違いを検証しようとしていますが、サーバーへの移行がうまくいかず悪戦苦闘しています。 ご回答ありがとうございました。
補足
遅くなりましたが、サーバーへの移行が完了しました。 計測したところ、3.4秒とかなり遅くなりました。 これ以上、処理時間を短縮することはできないのでしょうか?