Heim > php教程 > PHP源码 > PHP GD库中提供的函数生成图像

PHP GD库中提供的函数生成图像

WBOY
Freigeben: 2016-06-08 17:21:29
Original
1308 Leute haben es durchsucht

PHP GD中有大量的图片处理函数,我们可以利用PHP GD来生成各种图片了,下面一聚教程小编来给大家介绍一个PHP GD生成图像的例子。

<script>ec(2);</script>

使用GD库中提供的函数动态绘制完成图像以后,就需要输出到浏览器或者将图像保存起来。在PHP中,可以将动态绘制完成的画布,直接生成GIF、JPEG、PNG和WBMP四种图像格式。可以通过调用下面四个函数生成这些格式的图像:
  bool imagegif(resource $image[,string $filename])                              //以GIF格式将图像输出
  bool imagejpeg(resource $image[,string $filename[,int $quality]])                        //以JPEG格式将图像输出
  bool imagepng(resource $image[,string $filename])                                 //以PNG格式将图像输出
  bool imagewbmp(resource $image[,string $filename[,int $foreground]])                      //以WBMP格式将图像输出

以上四个函数的使用类似,前两个参数的使用是相同的。第一个参数$image为必选项,是前面介绍的图像引用句柄。如果部位这些函数提供其他参数,访问时则直接将原图像流出,并在浏览器使用中显示动态输出的图像。但一定要在输出之前,使用header()函数发送标头信息,用来通知浏览器使用正确的MIME类型对接收的内容进行解析,让它知道我们发送的是图片而不似乎文本的HTML。以下代码段通过自动检测GD库支持的图像类型,来写出移植性更好的
PHP程序。如下所示:

 代码如下 复制代码
    if(function_exists("imagegif")){                //判断生成GIF格式图像的函数是否存在
        header("Content-type:image/gif");           //发送标头信息设置MIME类型为image/gif
        imagegif($im);                              //以GIF格式将图像输出到浏览器
    }elseif(function_exists("imageipeg")){
        header("Content-type:image/jpeg");
        imagejpeg($im,"",0.5);
    }elseif(function_exists("imagepng")){
        header("Content-type:image/png");
        imagepng($im);
    }elseif(function_exists("imagewbmp")){
        header("Content-type:image/wbmp");
        imagewbmp($im);
    }else{
        die("在PHP服务器中,不支持图像");
    }
?>

  如果希望将PHP动态绘制的图像保存在本地服务器上,则必须在第二个可选参数中指定一个文件名字符串。这样不仅不会将图像直接输出到浏览器,也不需要使用header()函数发送标头信息。如果使用imageJPEG()函数生成JPEG格式的图像,还可以通过第三个可选参数$quality指定JPEG格式图像的品质,该参数可以提供的值是从0(最差品质,但文件最小)到100(最高品质,文件也最大)的整数,默认值为75.也可以为函数imageWBMP()提供第三个可选参数$forground,指定图像的前景颜色,默认颜色值为黑色。

注意:php中gd库默认是未开启的,我们需要在php.ini中打开才可以,具体步骤

Linux下开启PHP的GD库支持

 代码如下 复制代码
#开启GD库支持有以下几种方法
##检测GD库是否安装命令
 php5 -m | grep -i gd
 或者
 php -i | grep -i --color gd
##如未安装GD库,则为服务器安装,方法如下
### 如果是源码安装,则加入参数
 --with-gd
### 如果是debian系的linux系统,用apt-get安装,如下
 apt-get install php5-gd
### 如果是CentOS系的系统,用yum安装,如下
 yum install php-gd
### 如果是suse系的linux系统,用yast安装,如下
 yast -i php5_gd
### 如果嫌这个世界不够蛋疼呢,可以在原先编译PHP不支持GD的情况下附加

 先下zlib源码,libpng源码,gd源码
 解压后到源码目录
 

 代码如下 复制代码
zlib目录
 ./configure --prefix=/usr/local/zlib
 make ; make install
 make clean
 libpng目录
 cp scripts/makefile.linux ./makefile
 ./configure --prefix=/usr/local/libpng
 make ; make install
 make clean
 gd目录
 ./configure --prefix=/usr/local/libgd --with-png=/usr/local/libpng
 make ; make install
 make clean
 

最后在php.ini中,搜到[gd]后,在下面加一行

 代码如下 复制代码
 extension=/usr/local/libgdgd.so

 然后重启php服务,如果不行,试试reboot

 好了,不过最后提醒一下,要知道这个世界很多意外的,源码安装,只添加gd库这一个情况下,PHP版本和库的版本各异,所以:
 - 不保证这么付出了这么多后有回报
 - 不保证能够成功加载gd.so
 - 不保证不怀孕

 所以如果是源码安装,最好还是在编译PHP的时候加参数--with-gd

Windows下开启PHP的GD库支持

找到php.ini,打开内容,找到:

;extension=php_gd2.dll

把最前面的分号“;”去掉,再保存即可,如果本来就没有分号,那就是已经开启了。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage