在PHP中创建和处理图像
在使用基本的图像创建一个功能,你需要安装它。与JPEG图像创建一个功能,你需要安装它;> jpeg-6b.it也是必要的图像中安装1型字体;> t1lib.asdf
在这里,你还需要对你的系统设置进行进一步的调整。首先,安装t1lib和结束,然后jpeg-6b.the第三步是安装GD函数库,确保三以上的零部件安装顺序,因为你需要编译GD库使用jpeg-6b库。如果你安装jpeg-6b第一,编译会出错,这会让你感觉在一段时间的损失。
三函数库后,PHP是重新配置。这是一个典型的方式轻松安装PHP的DSO版本。然后执行命令,做清洁,然后将下面的代码添加到当前配置的提示:
——使用的是
与JPEG DIR = { / / /路径jpeg-6b }
——with-t1lib = { / / /路径t1lib }
最后,执行制作、安装完成配置。重新启动Apache,并运行phpinfo()函数来检查新功能运行正常,然后你就可以开始。
根据安装GD库的版本,你可以创建一个GIF或PNG图像的能力。关键是,如果你已经安装了gd-1.6或更早的版本,你可以处理GIF文件,但不能处理PNG文件。如果你安装gd-1.6或以后的版本,你可以处理PNG文件而不是GIF文件。
创建一个简单的图像需要几个函数。
输出包含您创建的映像的MIME类型的文件头,在这种情况下,PNG。
页眉(内容类型:图像);
使用画面欣赏()创建一个变量来存储一个空白的图像。这个功能需要一个像素大小,格式是画面欣赏(x_size,y_size),一幅250×250像素,如下:
newimg美元=画面欣赏(250250);
因为你的形象在这个时候仍然是空白,需要填充一些颜色。但是首先,你需要使用imagecolorallocate()函数来确定名称为每个颜色根据颜色的RGB值。该函数的格式是imagecolorallocate({ } {红},图像,{绿},{蓝})。如果是天蓝色的,它应该被使用:
蓝色= imagecolorallocate美元(美元newimg,136193255);
然后,上面的颜色充满了ImageFill的形象()函数。事实上,有许多版本的ImageFill()函数,如ImageFillRectangle()、ImageFillPolygon(),等等。为简单起见,本imagefill()函数用于颜色填充,其格式为如下:
ImageFill({图片},{点} {开始启动X,Y点},{颜色})
imagefill(0,0,newimg美元,一美元);
最后,创建最终的图像并销毁图像流以释放内存并在结束后完成系统。
imagepng($ newimg);
销毁一图像($ newimg);
您的代码应该如下所示:
newimg美元=画面欣赏(250250);
蓝色= imagecolorallocate美元(美元newimg,136193255);
imagefill(0,0,newimg美元,一美元);
imagepng($ newimg);
销毁一图像($ newimg);
>
如果你调用脚本skyblue.php和访问它自己的浏览器,你会看到一个蓝色的一个250 * 250像素的PNG图像。
还可以使用图像创建函数处理图像,如为大图像创建的缩略图等。
假设您打算为图片制作一个35×35像素大小的缩略图,我们需要做的是创建一个新的35×35像素大小的图像,并生成包含原始图像内容的图像流。然后,我们改变原始图像的大小,并把它放在新的空白图像中。
这是功能的关键(拷贝部分图像并调整大小),其格式如下:拷贝部分图像并调整大小({新图像处理},{原始图像处理},{新图像x },{新图像Y },{原始图像x },{原图像Y },{新图像x },{新形象y x } { },图像的原始图像{原来,Y });
注释在代码之下:
页眉(内容类型:图像);
设置变量以保存新的图像宽度。
newwidth = 35美元;
新的高度= 35美元;
在给定长度和宽度的情况下创建一个空白的新图片。
newimg美元=画面欣赏(newwidth美元,美元新的高度);
从原始图片中获取数据。
origimg美元= imagecreatefrompng(测试。png);
的变化/复制后的图片的大小,使用功能imagesx(x),x和imagesy获得原始图像的大小。
拷贝部分图像并调整大小(newimg美元,origimg美元,0,0,0,0,newwidth美元,美元的新高度,imagesx($ origimg),imagesy($ origimg));
创建最终图片和空内存。
imagepng($ newimg);
销毁一图像($ newimg);>
如果你调用脚本resized.php和使用浏览器访问这个文件,你可以看到一个35×35像素的缩写的png图片。