PHP动态映像的创建
在使用基本的图像创建一个功能,你需要安装GD库文件。如果你想使用一个JPEG相关的形象塑造功能,你还需要安装jpeg-6b,如果你想在图像中使用类型1的字体,你必须安装t1lib。
在建立一个图像的创作环境,一些准备工作是必要的。首先,安装t1lib jpeg-6b,然后安装,然后安装GD库文件。安装时,必须安装在给定的顺序,因为jpeg-6b时将使用编译GD。如果没有安装jpeg-6b,它将在编译时错误。
安装这三个组件后,您还需要重新配置一个PHP,这是一个你很幸运在DSO方式安装PHP的地方。运行做清洁,然后添加以下内容到当前配置:
——使用的是
与JPEG DIR = { / / /路径jpeg-6b }
——with-t1lib = { / / /路径t1lib }
完成后,执行make命令,然后执行make install命令,重新启动Apache,运行phpinfo()来检查是否有新的设置是有效的。现在,我们可以从图像创建工作。
根据GD库文件安装,它将决定你是否可以创建GIF或PNG格式的图形文件,如果你安装gd-1.6或以前的版本,你可以使用GIF格式的文件,但是不能创建PNG格式。如果你安装gd-1.6版本后,您可以创建PNG文件,但你不能创建GIF格式的文件。
创建一个简单的图像还需要很多函数,我们将逐步解释它。
在下面的示例中,我们将创建一个PNG格式的映像文件。下面的代码是一个MIME类型的头,它包含创建的映像。
<页眉(内容类型:图像);
使用画面欣赏()创建一个变量代表空白图像。这个函数需要的参数图像大小的像素大小,格式是画面欣赏(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新形象,新形象,新,{,图像,图像,等等。
发送一个头部,告诉浏览器文件的内容类型包含。
页眉(内容类型:图像);
一个新的图像保存变量的高度和宽度。
newwidth = 35美元;
新的高度= 35美元;
应该建立一个给定的高度和宽度的新的空白图像。
newimg美元=画面欣赏(newwidth美元,美元新的高度);
从原始图像中获取数据
origimg美元= imagecreatefrompng(测试。png);
复制 /调整图像的imagesx使用后(),ImageSY()得到原始图像在x和y的大小。
拷贝部分图像并调整大小(newimg美元,origimg美元,0,0,0,0,newwidth美元,美元的新高度,imagesx($ origimg),imagesy($ origimg));
创建 * * *释放内存映像
imagepng($ newimg);
销毁一图像($ newimg);>
如果你把这个小脚本作为resized.php然后使用浏览器来访问它,你会看到一个35×35大小的PNG格式的图像。