0

imagecreatetruecolor() を使用して PHP で PNG 画像を作成しています。イメージのサイズ (ピクセル単位の寸法) に基づいて、ini_set() を介して memory_limit を増やす必要があることがよくあります。

これまでのところ、受け取ると予想される最大値に基づいてどれだけのメモリを割り当てる必要があるかについて試行錯誤を繰り返してきましたが、これらの値もさらに高くなる可能性があることはわかっています。

画像内のすべてが以下を使用して描画されています。

imagefill();
imagecolorallocate();
imagerectangle();
imagefilledrectangle();
imagettftext();

そして、最終的な出力は次のとおりです。

imagepng();
imagedestroy();

現在、私は 512MB に設定しており、予想される最大サイズ (3178 x 2878) のほとんどを処理していますが、非常に小さいものを描画している場合は、メモリを過剰に割り当てないようにしています。

画像のサイズをピクセル単位で取得し、割り当てる必要がある必要なメモリを計算するために使用できる方法はありますか? 明らかに、処理のオーバーヘッドのために少し余分に追加する必要がありますが、実際のイメージ作成で使用されるメモリ量を把握する必要があります。

ありがとう!

4

0 に答える 0