综述:PHP中有一组图像函数,可以动态生成gif格式的图像数据流并输出到服务器,这样我们就可以按照用户的需求及时地在线生成图像。下面我们以生成一个按钮为例子来谈一谈如何用PHP生成动态图像。
动态图像是怎样被生成的?
让我们先看看下面的代码,如果第一次浏览该页或者用户置表单为空,则默认值为"Go!";如果用户输入了信息并提交表单,这段代码将被重新调用且进行初始化。
<?
If (!isset($string)||$string==""){$string="Go!";}
?>
<form action=button.php>
Button text;
<input type=text name=string value="<? pint $string; ?>">
<input type=submit>
</form>
这个文件的其余的部分就是简单的在表格中输出一些元素和调用其他的文件。
现在,我们开始制作按钮。第一个例子是生成一个黑边儿绿底儿的椭圆文字按钮。我们通过一个标准的<IMG>标签儿来显示按钮图象;SRC的值是生成按钮图象的文件。
<img src="green_ellipse.php?string=<? print rawurlencode($string); ?>">
下面让我们看看生成椭圆的文件"green_ellipse.php"
生成椭圆
这里列出了green_ellipse.php的代码,我们以Header()开头,可以向Apache服务器发从一个HTTP的头信息,这一步告诉Server使用的什么数据,本例中我们使用的是GIF的格式:
<?
Header("Content-Type: image/gif");
//现在我们将生成一幅空的图象,并且将其赋值给变量$id:
$id=ImageCreate($img_width,$img_height);
//图像润色
……
//使用内嵌的五号字在按钮上写上文字,最后给按钮上的文字设置变量$black的颜色:
ImageString($id, 5,($img_center_x-($str_width/2+1), img_center_y-($str_height/2)), $string, $black);
//最后,把图象从内存中道出到标准输出缓冲--这是Server将得到的图象的内容:
ImageGIF($id);
?>
这个程序只适合像"Go!"这样短的按钮,像"Please click here!"这样的长字符串就会不好看。没关系,看看下面这个圆边矩形。
生成更美观的图样
这个例子将生成一个黑边儿,黄色棱角的图样。你可以看到这种方法比第一个例子更适合长字符串的按钮。
如果你看了前面的代码,这里的代码你就容易看懂了。我们将从生成按钮的形状开始。
在每一个字符串的结尾处建立20个象素的边缘,并在字符串的上下各建10个象素的边缘:
<?php
初始化,参数设定
……
在图象的左端画了一个半圆,再从六点通过九点画到12点:
ImageArc($id,20,$img_center_y,20,$str_height+20,90,270,$black);
对于右端,是同上面一样的,只是从右端20象素开始画起,并且掠过相反的半圈儿--从12点通过3点到六点:
ImageArc($id,($img_width-20),$img_center_y,20,$img_height+20,270,90,$black);
最后,从一端的端顶向另一端画一条直线,同样在底部也画一条直线。这样闭合了形状的内部。
ImageLine($id,20,0,($img_width-20),0,$black);
ImageLine($id,20,$img_height-1,($img_width-20),$img_height-1,$black);
在这个区域里填充变量$yellow所定义的颜色,并充满整个区域:
ImageFillToBorder($id,$img_center_x,$img_center_y,$black,$yellow);
再将字符串写入到图象中,之后向标准输出打印图象:
ImageString($id, 5, ($img_center_x-($str_width/2)+1,($img_center_y-($str_height/2)), $string, $black);
ImageGIF($id);
?>
如何修改一幅已经存在的图象?
在这里,我们将修改一幅已经存在的图象,将其存为一幅新的图象文件,同时显示一幅动态的图象。首先,我们把mymonkdy.gif调入内存,并将其赋值给$id。
<?
$id=ImageCreateFromGif("mymonkey.gif");
//现在我们设置字体颜色,并将它放到图象上。
$yellow=ImageColorAllocate($id,,255,255,0);
//以左上角为(0,0)点,从(10,20)地方开始用内嵌四号字体写上字符串,同时我将它设为大写,并加了感叹号,以使其显得更加生动。
ImageString($id,4,10,20,strtoupper($string."!"),$yellow);
//现在我们将图象从内存存入文件http://edu.cnzz.cn/NewsInfo/newmonkey.gif。
ImageGIF($id,"http://edu.cnzz.cn/NewsInfo/newmonkey.gif");
?>
这样就差不多了:http://edu.cnzz.cn/NewsInfo/newmonkey.gif可以用来显示了,浏览器的设置是这样的:
<td>
<img src="http://edu.cnzz.cn/NewsInfo/newmonkey.gif" border=0>
</td>
</tr>
</table>
如何在PHP没有GD支持的情况下做统计数据的图形显示?
利用HTML对图形的控制完全可以达到我们的需要,开始之前先让我们回顾一下HTML对图形控制的语法:
< IMG SRC=# ALT=# Width=# Height=# ...... >
我们需要作的就是对Width和Height两个参数的控制,下面我们给个例子:
<?php
$rows[]={12,45,43,23,32,87,14,22,19,40}; //数组初始化,可以从数据取出。
$sums=0;
for ( $i = 0 ; $i < 10 ;$i++ ) $sums+=$rows[$i]; //求和
for ( $i = 0 ; $i < 10 ;$i++ ) {
if ($sums * $rows[$i] ) { //为0则不进行处理,避免0除溢出
$tmp=$rows[$i]/$sums*100;
echo " <img src=http://edu.cnzz.cn/NewsInfo/bar.gif height=9 width=".$tmp.">";
//输出图形,http://edu.cnzz.cn/NewsInfo/bar.gif是只有一个点的图形文件,这里是横向图形,纵向改height即可.
echo " (".sprintf('%01.2f',$tmp)."%)";
echo "<BR>";
}
}
?>
怎样实现PHP和Flash动画的交互操作?
我们用一个flash加上php做身份认证的例子说明一下:
首先在主场景中加入三个textfield和一个按钮。
然后就是给这三个textfield付上名称。
第一个是 name,用来输入用户名
第二个是 password,用来输入密码
第三个是output,用来显示判断结果。
最后就是给按钮的点击加上动作。
Load Variables ("check.php", 1, vars=POST)
这个action的内容很多,第一是把主场景的几个变量值传给check.php.第二还要从check.php中再返回output的值来。
<?
.....
....
///用sql 语句,找出$name的密码赋给 password
//判断第二个文本框的内容,密码是否第一个文本文本框name找到的密码
if($passwd==$password)
echo "output=welcome ".$name." this is a program by php and flash"; //如果等于的话,就将output文本框的值等于欢迎信息
else
echo "output=sorry , ".$name." your password is not correct"; //如果不等于,就显示出错信息。
?>

打开img文件的方法有使用虚拟光驱软件打开、使用压缩软件打开和使用专用工具打开。详细介绍:1、使用虚拟光驱软件打开,下载并安装一个虚拟光驱软件,右键单击img文件,选择“打开方式”或“关联程序”,在弹出的对话框中选择安装的虚拟光驱软件,虚拟光驱软件会自动加载img文件,并将其作为虚拟光驱中的光盘映像,双击虚拟光驱中的光盘图标,即可打开img文件并访问其中的内容等等。

使用Java的String.valueOf()函数将基本数据类型转换为字符串在Java开发中,当我们需要将基本数据类型转换为字符串时,一种常见的方法是使用String类的valueOf()函数。这个函数可以接受基本数据类型的参数,并返回对应的字符串表示。在本文中,我们将探讨如何使用String.valueOf()函数进行基本数据类型转换,并提供一些代码示例来

img文件打开的方式:1、确认img文件路径;2、使用img文件打开器;3、选择打开方式;4、查看图片;5、保存图片。img文件是一种常用的图像文件格式,通常用于存储图片数据。

char数组转string的方法:可以通过赋值来实现,使用{char a[]=" abc d\0efg ";string s=a;}语法,让char数组对string直接赋值,执行代码即可完成转换。

img是一种文件压缩格式,主要是为了创建软盘的镜像文件,它可以用来压缩整个软盘或整片光盘的内容;使用“.IMG”这个扩展名的文件就是利用这种文件格式来创建的;img文件包括3个基本节点,分别是“Ehfa_HeaderTag”、“Ehfa_File”和“Ehfa_Entry”。

使用Java的String.replace()函数替换字符串中的字符(串)在Java中,字符串是不可变的对象,这意味着一旦创建了一个字符串对象,就无法修改它的值。但是,你可能会遇到需要替换字符串中的某些字符或者字符串的情况。这时候,我们可以使用Java的String类中的replace()方法来实现字符串的替换。String类的replace()方法有两种重

使用Java的String.length()函数获取字符串的长度在Java编程中,字符串是一种非常常见的数据类型,我们经常需要获取字符串的长度,即字符串中字符的个数。在Java中,我们可以使用String类的length()函数来获取字符串的长度。下面是一个简单的示例代码:publicclassStringLengthExample{publ

一、认识String1.JDK中的String首先我们看看JDK中的String类源码,它实现了很多接口,可以看到String类被final修饰了,这就说明String类不可以被继承,String不存在子类,这样所有使用JDK的人,用到的String类都是同一个,如果String允许被继承,每个人都可以对String进行扩展,每个人使用的String都不是同一个版本,两个不同的人使用相同的方法,表现出不同的结果,这就导致代码没办法进行开发了继承和方法覆写在带来灵活性的同时,也会带来很多子类行为不


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

SAP NetWeaver Server Adapter for Eclipse
Integrate Eclipse with SAP NetWeaver application server.

Dreamweaver Mac version
Visual web development tools

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

SublimeText3 Linux new version
SublimeText3 Linux latest version

EditPlus Chinese cracked version
Small size, syntax highlighting, does not support code prompt function