imagick与gd绘点效率对比

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值