提高PHP GD生成图像的质量
发布时间:2020-12-13 18:21:31 所属栏目:PHP教程 来源:网络整理
导读:我将开始使用GD库在 PHP中构建地图生成器.我使用lib生成了一些图像,但它们没有很好的质量.我只是想知道有一些方法可以提高图像的质量. 生成的图像是: 我的代码是: ?php$canvas = imagecreate(800,350);imagecolorallocate($canvas,255,255);$pink = imagec
我将开始使用GD库在
PHP中构建地图生成器.我使用lib生成了一些图像,但它们没有很好的质量.我只是想知道有一些方法可以提高图像的质量.
生成的图像是: 我的代码是: <?php $canvas = imagecreate(800,350); imagecolorallocate($canvas,255,255); $pink = imagecolorallocate($canvas,105,180); $white = imagecolorallocate($canvas,255); $green = imagecolorallocate($canvas,132,135,28); imagestring( $canvas,20,290,25,"Quality is not the best :(",$green ); function drawlinebox($x1,$y1,$x2,$y2,$height,$color){ global $canvas; imagesetthickness ( $canvas,1 ); for ($i=1; $i < $height; $i++){ imageline( $canvas,$x1,$color ); $y1++; $y2++; } } drawlinebox(20,780,300,30,$green); drawlinebox(20,$pink); header('Content-Type: image/jpeg'); imagejpeg($canvas); imagedestroy($canvas); ?>
imagejpeg [
docs]对图像质量进行论证.它默认为75,但您可以将其增加到最多100个.例如:
imagejpeg($canvas,NULL,90); 但是,对于具有大量连续色彩和清晰线条的生成图形,JPEG可能不是最佳选择. PNG更适合这些类型的图像,并且可能会以更小的尺寸为您提供完美的质量. imagepng [docs]有几个选项,但默认值应该没问题: header('Content-Type: image/png'); imagepng($canvas); 您正在使用imagecreate [docs]来制作图像.这会创建一个“基于托盘”的图像:只能使用有限数量的颜色的图像.这与GIF或8位PNG的较低质量相匹配,但由于您不使用这些格式,您应该使用imagecreatetruecolor [docs].到目前为止,您的图像非常简单,这可能没什么区别,但是如果您生成更复杂的图像则会很重要. 如果您进行这两项更改,您的图像将确保具有完美的质量. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |