php操作图像(GD函数库)

PHP.ini里修改;extension=php_gd2.dll

在PHP中创建一个图像应该完成这样四个步骤:

•创建背景图像

•在背景上绘制图形或输入文本

•输出最终图形

•清除所有资源

<?php

$width = 200; // 图像宽度

$height = 400; // 图像高度

$img = ImageCreateTrueColor( $width, $height );

?>

通过ImageCreateFromPNG()、ImageCreateJPEG()或ImageCreateFromGIF()来读取一个现有图像文件,然后对其进行过滤,再在它上面添加其他图像。

<?php

$imgTemp = ImageCreateFromPNG(‘abc.png‘);

?>

<?php

$width = 200; // 图像宽度

$height = 400; // 图像高度

$img = ImageCreateTrueColor( $width, $height );

$white = ImageColorAllocate($img, 255, 255, 255); //RGB值

$blue = ImageColorAllocate($img, 0, 0, 64);

ImageFill($img, 0, 0, $blue);  //往背景图里填充$blue

ImageLine($img, 0, 0, $width, $height, $white); /*这里出现了2对坐标,“0, 0”是起始点的坐标,而$width, $height是终点的坐标,最后一个参数就是颜色。*/

ImageString($img, 3, 100, 150, ‘abc‘, $white);//图像上书写字符串

?>

<?php

$width = 200; // 图像宽度

$height = 400; // 图像高度

$img = ImageCreateTrueColor( $width, $height );

$white = ImageColorAllocate($img, 255, 255, 255); //RGB值

$blue = ImageColorAllocate($img, 0, 0, 64);

ImageFill($img, 0, 0, $blue);  //往背景图里填充$blue

ImageLine($img, 0, 0, $width, $height, $white); /*这里出现了2对坐标,“0, 0”是起始点的坐标,而$width, $height是终点的坐标,最后一个参数就是颜色。*/

ImageString($img, 3, 100, 150, ‘abc’, $white);//图像上书写字符串

header( ‘Content-type: image/png‘ ); //指定图像的MIME类型

imagepng($img);  //输出图像数据

?>

同样的,如果你希望最终输出JPEG图像,可以使用ImageJPEG()来输出,同时还要将header()函数参数同步替换成image/jpeg。

综上所述,我们是将图像直接发送到浏览器,如果我们希望将自动创建的图像生成文件,可以将在imagepng()函数中加上第二个参数,这个参数就是你希望生成的文件名,如logo.png。注意,文件后缀名要保持格式一直,而且文件名要用引号引起来。

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

释放并销毁资源

<?php

$width = 200; // 图像宽度

$height = 400; // 图像高度

$img = ImageCreateTrueColor( $width, $height );

$white = ImageColorAllocate($img, 255, 255, 255); //RGB值

$blue = ImageColorAllocate($img, 0, 0, 64);

ImageFill($img, 0, 0, $blue);  //往背景图里填充$blue

ImageLine($img, 0, 0, $width, $height, $white); /*这里出现了2对坐标,“0, 0”是起始点的坐标,而$width, $height是终点的坐标,最后一个参数就是颜色。*/

ImageString($img, 3, 100, 150, ‘abc’, $white);//图像上书写字符串

header( ‘Content-type: image/png‘ ); //指定图像的MIME类型

imagepng($img);  //输出图像数据

ImageDestroy($img); //释放并销毁

?>

调用自动生成的图像

<img src="image.php" height="400" width="200" />

总结:

创建背景图像:ImageCreateTrueColor()

在背景上绘制图形或输入文本:ImageColorAllocate()、ImageFill()、ImageLine()、ImageString()

输出最终图形:header()、 imagepng()

清楚所有资源:imagedestroy()

时间: 2024-10-30 04:05:26

php操作图像(GD函数库)的相关文章

利用Python 调用turtle函数库 绘制奥运五环。

import turtle #调用turtle库绘制图像的函数库turtle.color("blue") #颜色 蓝色turtle.circle(100) #画半径100的圆 turtle.penup() #抬起笔turtle.goto(-180,0) #移动到turtle.pendown() #放笔turtle.color("red") #颜色 红色turtle.circle(100) #画半径100的圆 turtle.penup() #提起笔turtle.got

【C语言】编写一个函数reverse_string(char * string)(递归实现),将参数字符串中的字符反向排列,不能使用C函数库中的字符串操作函数。

//编写一个函数reverse_string(char * string)(递归实现) //实现:将参数字符串中的字符反向排列. //要求:不能使用C函数库中的字符串操作函数. #include <stdio.h> #include <assert.h> void reverse_string(char const * string) { assert( string != NULL ); if( *string != '\0' ) { string++; reverse_stri

自定义的常用文件与目录操作函数库

自定义的常用文件与目录操作函数库,在win和linux平台做了跨平台的处理.(跨平台的处理可以作为参考比较.在win下目录的符号可以是\或者/,但是在linux下只能是/.) 下面给出的是源文件,实现接口函数的代码.每个接口函数都有很详细的功能说明. /* 判断文件或目录是否存在 * 在操作系统中,目录也是一个文件,如果要判断一个目录是否存在则应当使用DirectoryExists, * 要判断一个文件是否存在且是一个归档文件则应当使用IsArchive. * @如果文件或目录存在则返回true

了解GD2函数库

PHP目前在Web开发领域已经被广泛应用,PHP不仅可以生成HTML页面,而且可以创建和操作二进制形式的数据,如图像,文件等.其中使用PHP操作图形可以通过GD2函数库来实现.利用GD2函数库可以在页面中绘制各种图像,统计图,如果与Ajax技术结合还可以制作出各种强大的动态图表.GD2库是一个开放的.动态创建图像的源代码公开的函数库.目前,GD2库支持GIF.PNG.JPEG.WBMP和XBM等多种图像格式. PHP5中GD2函数库已经作为扩展被默认安装,但目前有些版本中,还需要对php.ini

语法与函数库

  C语言学习的关键,是要先搞明白,学C语言到底是在学些什么?  我这么一问,有的同学就要翻开课本,指着目录说,我知道我知道,有变量,数据类型,循环语句,函数,还有指针等等! 很遗憾,如果你以为学习C语言就是学习这些东西,那你得赶紧纠正一下看法,否则接下来的学习会困难重重.因为我曾经就是这么掉到坑里的,这种狭隘的观点让我浪费了大量的时间去学习琐碎的细节,又让我迟迟不能接触到更重要的知识,结果是眼高手低——知道许多别人不知道的无用知识,但是又写不出什么真正像样的程序来. 所谓「语法」,就是入门教材

ABP展现层——Javascript函数库

ABP展现层——Javascript函数库 点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之21.ABP展现层——Javascript函数库 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate ASP.NET Boil

javaweb学习总结(三十)——EL函数库

一.EL函数库介绍 由于在JSP页面中显示数据时,经常需要对显示的字符串进行处理,SUN公司针对于一些常见处理定义了一套EL函数库供开发者使用. 这些EL函数在JSTL开发包中进行描述,因此在JSP页面中使用SUN公司的EL函数库,需要导入JSTL开发包,并在页面中导入EL函数库,如下所示: MyEclipse自带的JSTL开发包: fn.tld就是EL函数库的对应的tld描述文件,如下图所示: 在页面中使用JSTL定义的EL函数:<%@taglib uri="http://java.su

php总结8——mysql函数库、增删改

8.1 mysql函数库 php的函数   .php中用来操作mysql函数库的函数 常用函数 mysql_connect("主机名称/ip","用户名","密码")--->建立php到mysql的连接,返回资源----> mysql_error()  返回上一个mysql操作的文本错误信息 @ 错误抑制符 一般来说,mysql_connect和mysql_error() 一起使用,用如下方式表示: <?php $link[em

机器学习实战之环境配置:windows系统下安装NumPy、SciPy和Matplotlib函数库

在科学和金融领域,SciPy和NumPy等科学函数库都实现了向量和矩阵操作,增加了代码的可读性,降低了阅读门槛:同时这两个库使用底层语言(C和Fortran)编写,提高了相关应用程序的计算性能,被广泛的应用.此外还有绘图工具Matplotlib,可以绘制2D/3D图形,也可以处理科学研究中经常使用到的图形. 三个库各自的下载地址↓ http://sourceforge.net/projects/numpy/files/NumPy http://sourceforge.net/projects/s