我使用imagecreatetruecolor()在PHP中创建PNG图像。我经常需要根据图像的大小(以像素为单位)通过ini_set()增加memory_limit。
到目前为止,基于我期待接收的最大值,应该分配多少内存是试验/错误,但我知道这些值也可能更高。< / p>
使用以下方式绘制图像中的所有内容:
imagefill();
imagecolorallocate();
imagerectangle();
imagefilledrectangle();
imagettftext();
最终输出是:
imagepng();
imagedestroy();
目前我将它设置为512MB并且它正在处理我期望的大部分最大尺寸(3178 x 2878),但是如果我绘制的东西很小,我也试图不过度分配内存。
我是否可以使用一种方法来获取像素尺寸并计算应分配的所需内存?显然我需要为处理开销添加一些额外的内容,但我需要弄清楚实际图像创建使用了多少内存。
谢谢!