php 线条的绘制,在非常高的图像上使用PHP绘制线条,脚本停止绘制.怎么了,怎么解决?...

我有一个

PHP脚本,可以创建一个非常高的图像,并在其上绘制很多行(组织Web外观).对于我尝试创建的最高图像,线条图突然停止向图像的中间到底部:

http://i.imgur.com/4Plgr.png

我使用imagecreate()遇到了这个问题,然后我发现imagecreatetruecolor()可以处理更大的图像,所以我切换到了.我仍然遇到同样的问题,但脚本现在可以处理更大的图像.我认为它应该绘制大约1200行.该脚本执行时间不超过3秒.这是一张完全执行的图像:http://i.imgur.com/PaXrs.png

我使用ini_set(‘memory_limit’,’1000M’)调整了内存限制,但我的脚本从未达到接近极限.

如何强制脚本继续绘制直到完成?或者我如何使用PHP来创建使用更少内存的图像(我认为这是问题)?

if(sizeof($array[0])<300)

$image=imagecreate($width,$height);

else

$image=imagecreatetruecolor($width,$height);

imagefill($image,0,0,imagecolorallocate($image,255,255,255));

for($p=0; $p

$posx1=77+177*$linepoints[$p][0];

$posy1=-4+46*$linepoints[$p][1];

$posx2=77+177*$linepoints[$p][2];

$posy2=-4+46*$linepoints[$p][3];

$image=draw_trail($image,$posx1,$posy1,$posx2,$posy2);

}

imagepng($image,"images/table_backgrounds/table_background".$tsn.".png",9);

imagedestroy($image);

function draw_trail($image,$posx1,$posy1,$posx2,$posy2){

$black=imagecolorallocate($image,0,0,0);

if($posy1==$posy2)

imageline($image,$posx1,$posy1,$posx2,$posy2,$black);

else{

imageline($image,$posx1,$posy1,$posx1+89,$posy1,$black);

imageline($image,$posx1+89,$posy1,$posx1+89,$posy2,$black);

imageline($image,$posx1+89,$posy2,$posx2,$posy2,$black);

}

return $image;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值