字节跳动Tiktok团队北上广深杭急招前后端开发,绿色内推邮箱:sunmaoyu@bytedance.com

gd.so和php_gd2.so 有什么区别

1、关于gd与gd2有什么区别,可以参加以下的链接,简单来说gd2就是gd的更新版,可以处理更多图像类型

https://stackoverflow.com/questions/3035216/what-are-the-differences-between-a-gd-and-a-gd2-image


2、php-gd里面已经包含了gd和gd2,前提是你安装的php-gd是新版本的,你应该是已经安装的了,或者查看以下你的GD库版本

<?php
var_dump(gd_info());
?>

我显示的版本是2.1.0,包括了GD2在内了

 

----------------------

扩展一:什么事GD库?

GD库是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。 在网站上GD库通常用来生成缩略图或者用来对图片加水印或者对网站数据生成报表。
 在php中使用gd库来对图像进行操作,GD为是一个动态的开放的创建图像的源代码公开的函数库。可以从官方网站www.boutell.com/gd处下载,目前GD库支持gif,png,jpeg,wbmp,xbm等多种图像格式。GD库通常用于对图像的处理。
 参考:http://blog.itechol.com/space-33-do-blog-id-844.html


在PHP中,有一些简单的图像函数是可以直接使用的,但大多数要处理的图像,都需要在编译PHP时加上图像函数的GD库。除了安装GD库之外,在PHP中还可能需要其他的库,这可以根据需要支持哪些图像格式而定。GD库可以在http://www.boutell.com/gd/免费下载,可以参考本书在第2章介绍的方式安装GD库。


 

不同的GD版本支持的图像格式不完全一样,最新的GD库版本支持GIF、JPEG、PNG、WBMP、XBM等格式的图像文件,此外还支持一些如FreeType、Type 1等字体库。通过GD库中的函数可以完成各种点、线、几何图形、文本以及颜色的操作和处理,也可以创建或读取多种格式的图像文件。

在PHP中,通过GD库处理图像的操作,都是先在内存中处理,操作完成以后再以文件流的方式,输出到浏览器或保存在服务器的磁盘中。创建一个图像应该完成如下所示的四个基本步骤。

(1)创建画布:所有的绘图设计都需要在一个背景图片上完成,而画布实际上就是在内存中开辟的一块临时区域,用于存储图像的信息。以后的图像操作都将基于这个背景画布,该画布的管理就类似于我们在画画时使用的画布。

(2)绘制图像:画布创建完成以后,就可以通过这个画布资源,使用各种画像函数设置图像的颜色、填充画布、画点、线段、各种几何图形,以及向图像中添加文本等。

(3)输出图像:完成整个图像的绘制以后,需要将图像以某种格式保存到服务器指定的文件中,或将图像直接输出到浏览器上显示给用户。但在图像输出之前,一定要使用header()函数发送Content-type通知浏览器,这次发送的是图片不是文本。

(4)释放资源:将图像被输出以后,画布中的内容也不再有用。出于节约系统资源的考虑,就需要及时清除画布占用的所有内存资源。

 

------------------------

扩展二:如何开启GD库?

在windows环境下,配置完php,其实是带有GD库的,默认没有开启,如果需要使用(比如验证码),那么需要手动进行配置,方法很简单,打开php.ini,找到下面这行代码,去掉分号。如果是linux环境,则为:php_gd2.so

 

 
 ----------
参考:
https://www.cnblogs.com/gengyi/p/6533888.html
https://blog.csdn.net/zhangatle/article/details/77506606

 

posted @ 2019-02-28 23:45  冒雨ing  阅读(1006)  评论(0编辑  收藏  举报