1imagick
Windows+PHP5.6环境下安装imagick扩展和imagemagick
https://www.jianshu.com/p/c2ff6c9c43e3
<?php
$draw = new \ImagickDraw();
$draw->setFillColor('rgb(1,255,1)');
for($i=0;$i<204;$i++){
for($j=0;$j<204;$j++){
$draw->point($i,$j);
}
}
$imagick = new \Imagick();
$imagick->newImage(500, 500,"none");
$imagick->setImageFormat("png");
$imagick->drawImage($draw);
header("Content-Type: image/png");
echo $imagick->getImageBlob();
2 GD
<?php
//创建一个画布
$canvas = imagecreatetruecolor(500,500);
//$black = imageColorAllocate($canvas,0,0,0);
for($i=0;$i<204;$i++){
for($j=0;$j<204;$j++){
$col= imageColorAllocate($canvas,1,255,1);
imagesetpixel($canvas,$i,$j,$col);
}
}
//输出到浏览器
header("content-type:image/png");
//以png的形式输出到浏览器上
imagepng($canvas);
//销毁图形,释放内存
imagedestroy($canvas);
3 raphael-js
直接使用raphael在浏览器绘制需要1秒以上,基本不用考虑了。
结论
同样是绘点,imagick绘制的陪你过体积小但耗时长,gd体积大但耗时短!js前端绘图效率极低,可能与我机器上没有gpu有关,通常都在1秒以上
补充阅读
https://zhujia.info/2019/09/07/DrawImageWithPythonAndNodeJS.html