php图形
⑴ php的GD2绘出的图形默认从左上角开始,怎样让绘
应用GD2函数可以绘制的图形有多种,最基本的图形包括条、圆、方形等。无论开发人员绘制多么复杂的图形,都是在这些最基本的图形的基础上进行深化的,只有掌握了最基本的图形的绘制方法,才能绘制出各种具有独特风格的图形。
在GD2中可以分别应用imageline()函数、imagearc()函数和imagerectangle()函数绘制直线,圆形和方法。
下面将介绍这些函数的使用方法:
bool imageline( resource image, int x1, int y1, int x2, int y2, int color )
imageline()函数用color颜色在图像image中从坐标(x1,y1)到(x2,y2)(图像左上角为(0,0))绘制一条线段。
bool imagearc( resource image, int cx, int cy, int w, int h, int s, int e, int color)
image : 表示图像的handle
cx,cy 原点坐标(0,0)为图片的左上角,参数cx,cy为椭圆圆心坐标
w,h分别为水平轴长和垂直轴长
s,e分别为起始角与结束角
color为弧线的颜色
bool imagerectangle( resource image, int x1, int y1, int x2, int y2, int color)
imagerectangle()函数以color颜色在image图像中绘制一个矩形,其左上角坐标为( x1,y1),右下角坐标为( x2, y2)。图像的左上角坐标为(0,0)
⑵ 怎么通过php输出一下图形
<?php
$n = 9;
for($i = 1; $i <= $n; $i++) {
for($j = 0; $j < $n - $i; $j++) {
echo ' '; //要是在网页测试时候,空格替换成& n b s p;
}
$k = 1;
while($k < $i) {
echo $k++;
}
while($k >= 1) {
echo $k--;
}
echo '<br />';
}
?>
好像有点繁琐了,记得貌似还有更简便的...
⑶ PHP编程画出以下图形 * *** ***** ******* *********
for($i=1;$i<=5;$i++){
for($n=1;$n<=(6-$i);$n++) //控制输出空格
echo ' ';
for($s=1;$s<=(2*$i-1);$s++) //控制输出星号
echo '*';
}
⑷ PHP图形怎么把把字体上浮
这是因为你先写字后画图造成的,你可以在画图完毕后再写一次字,这样字就能上浮了,也就是在imagegif($image);的前面增加下面的语句:
imagettftext($image,50, 20, 200, 100, $bg1,$font, $text);
⑸ 怎样在PHP中将图形转换为字符画
PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有:
(int)、(integer): 转换成整形
(float)、(double)、(real): 转换成浮点型
(string): 转换成字符串
(bool)、(boolean): 转换成布尔类型
(array): 转换成数组
(object): 转换成对象
PHP数据类型有三种转换方式:
在要转换的变量之前加上用括号括起来的目标类型
使用3个具体类型的转换函数,intval()、floatval()、strval()
使用通用类型转换函数settype(mixed var,string type)
第一种转换方式: (int) (bool) (float) (string) (array) (object)
<?php
$num1=3.14;
$num2=(int)$num1;
var_mp($num1); //输出float(3.14)
var_mp($num2); //输出int(3)
?>
第二种转换方式: intval() floatval() strval()
<?php
$str="123.9abc";
$int=intval($str); //转换后数值:123
$float=floatval($str); //转换后数值:123.9
$str=strval($float); //转换后字符串:"123.9"
?>
第三种转换方式: settype();
<?php
$num4=12.8;
$flg=settype($num4,"int");
var_mp($flg); //输出bool(true) $flg是settype的返回结果 布尔值
var_mp($num4); //输出int(12) $num4已由float类型转换成整形
?>
⑹ PHP图像处理函数有哪些
我在网上找了半天,发现这些都无法实现对它的认识,于是我偶然间找到了相关的资料方面的书;
那就是PHP 手册,表在网上找这些没用的东西了,全是些皮毛介绍,误人子弟;
请点击这里:网页链接下载相关的手册,或者在网上查找PHP相关的中文版的手册;
又全面又仔细,不需要在网上乱查了,根本就是浪费时间,误入歧途.
例子 1. 用 PHP 创建 PNG 图像
<?phpheader("Content-type: image/png");
$string = $_GET['text'];
$im= imagecreatefrompng("images/button1.png");
$orange = imagecolorallocate($im,
220, 210, 60);
$px= (imagesx($im) - 7.5
* strlen($string)) /
2;
imagestring($im, 3, $px, 9, $string, $orange);
imagepng($im);
imagedestroy($im);
?>
本例应该在一个具有类似:<img
src="button.php?text=text"> 标签的页面中被调用。上述的 button.php 脚本会取得 "text"
字符串将其覆盖在原图上(本例中的
"images/button1.png")并输出作为结果的图像。用此方法可以很方便地修改按钮上的文字从而避免了每次都要新画一个按钮的图像。用此方法就可以动态生成了。
目录
exif_imagetype--判断一个图像的类型
exif_read_data-- 从 JPEG 或 TIFF 文件中读取 EXIF 头信息,这样就可以读取数码相机产生的元数据
exif_thumbnail--取得嵌入在 TIFF 或
JPEG 图像中的缩略图gd_info--取得当前安装的 GD 库的信息
getimagesize--取得图像大小
image_type_to_mime_type-- 取得
getimagesize,exif_read_data,exif_thumbnail,exif_imagetype 所返回的图像类型的 MIME 类型image2wbmp--以 WBMP 格式将图像输出到浏览器或文件
imagealphablending--设定图像的混色模式
imageantialias--是否使用 antialias
功能imagearc--画椭圆弧
imagechar--水平地画一个字符
imagecharup--垂直地画一个字符
imagecolorallocate--为一幅图像分配颜色
imagecolorallocatealpha--为一幅图像分配颜色
+ alphaimagecolorat--取得某像素的颜色索引值
imagecolorclosest--取得与指定的颜色最接近的颜色的索引值
imagecolorclosestalpha--取得与指定的颜色
+ alpha 最接近的颜色imagecolorclosesthwb--
取得与给定颜色最接近的色度的黑白色的索引imagecolordeallocate--取消图像颜色的分配
imagecolorexact--取得指定颜色的索引值
imagecolorexactalpha--取得指定的颜色 +
alpha 的索引值imagecolormatch--
使一个图像中调色板版本的颜色与真彩色版本更能匹配imagecolorresolve--
取得指定颜色的索引值或有可能得到的最接近的替代值imagecolorresolvealpha--
取得指定颜色 + alpha 的索引值或有可能得到的最接近的替代值imagecolorset--给指定调色板索引设定颜色
imagecolorsforindex--取得某索引的颜色
imagecolorstotal--取得一幅图像的调色板中颜色的数目
imagecolortransparent--将某个颜色定义为透明色
image--拷贝图像的一部分
imagemerge--拷贝并合并图像的一部分
imagemergegray--用灰度拷贝并合并图像的一部分
imageresampled--重采样拷贝部分图像并调整大小
imageresized--拷贝部分图像并调整大小
imagecreate--新建一个基于调色板的图像
imagecreatefromgd2--从 GD2
文件或 URL 新建一图像imagecreatefromgd2part--从给定的
GD2 文件或 URL 中的部分新建一图像imagecreatefromgd--从 GD 文件或
URL 新建一图像imagecreatefromgif--从 GIF
文件或 URL 新建一图像imagecreatefromjpeg--从
JPEG 文件或 URL 新建一图像imagecreatefrompng--从 PNG
文件或 URL 新建一图像imagecreatefromstring--从字符串中的图像流新建一图像
imagecreatefromwbmp--从
WBMP 文件或 URL 新建一图像imagecreatefromxbm--从 XBM
文件或 URL 新建一图像imagecreatefromxpm--从 XPM
文件或 URL 新建一图像imagecreatetruecolor--新建一个真彩色图像
imagedashedline--画一虚线
imagedestroy--销毁一图像
imageellipse--画一个椭圆
imagefill--区域填充
imagefilledarc--画一椭圆弧且填充
imagefilledellipse--画一椭圆并填充
imagefilledpolygon--画一多边形并填充
imagefilledrectangle--画一矩形并填充
imagefilltoborder--区域填充到指定颜色的边界为止
imagefontheight--取得字体高度
imagefontwidth--取得字体宽度
imageftbbox--取得使用了 FreeType 2
字体的文本的范围imagefttext--使用 FreeType 2
字体将文本写入图像imagegammacorrect--对 GD 图像应用
gamma 修正imagegd2--输出 GD2 图像
imagegd--将 GD 图像输出到浏览器或文件
imagegif--以 GIF 格式将图像输出到浏览器或文件
imageinterlace--激活或禁止隔行扫描
imageistruecolor--检查图像是否为真彩色图像
imagejpeg--以 JPEG 格式将图像输出到浏览器或文件
imagelayereffect-- Set the
alpha blending flag to use the bundled libgd layering effectsimageline--画一条直线
imageloadfont--载入一新字体
imagepalette--将调色板从一幅图像拷贝到另一幅
imagepng--以 PNG 格式将图像输出到浏览器或文件
imagepolygon--画一个多边形
imagepsbbox--取得使用 PostScript Type1
字体的文本的范围imagepsfont--
拷贝一个已加载的字体以备更改imagepsencodefont--改变字体中的字符编码矢量
imagepsextendfont--扩充或压缩字体
imagepsfreefont--释放一个
PostScript Type 1 字体所占用的内存imagepsloadfont--从文件中加载一个
PostScript Type 1 字体imagepsslantfont--倾斜某字体
imagepstext--用 PostScript Type1
字体把文本字符串画在图像上imagerectangle--画一个矩形
imagerotate--用给定角度旋转图像
imagesavealpha-- 设置标记以在保存 PNG
图像时保存完整的 alpha 通道信息(与单一透明色相反)imagesetbrush--设定画线用的画笔图像
imagesetpixel--画一个单一像素
imagesetstyle--设定画线的风格
imagesetthickness--设定画线的宽度
imagesettile--设定用于填充的贴图
imagestring--水平地画一行字符串
imagestringup--垂直地画一行字符串
imagesx--取得图像宽度
imagesy--取得图像高度
imagetruecolortopalette--将真彩色图像转换为调色板图像
imagettfbbox--取得使用 TrueType
字体的文本的范围imagettftext--用 TrueType
字体向图像写入文本imagetypes--返回当前 PHP 版本所支持的图像类型
imagewbmp--以 WBMP 格式将图像输出到浏览器或文件
iptcembed--将二进制 IPTC 数据嵌入到一幅 JPEG
图像中iptcparse-- 将二进制 IPTC http://www.iptc.org/ 块解析为单个标记
jpeg2wbmp--将 JPEG 图像文件转换为 WBMP 图像文件
png2wbmp--将 PNG 图像文件转换为 WBMP 图像文件
read_exif_data--exif_read_data() 的别名
⑺ 为什么PHP的图像是个大象
php象,叫elePHPant..
作者说灵感源自偶然观察到字母"PHP"的外形就像一只大象...
符合当时的动物吉祥物惯例。perl的骆驼,python蛇,linux企鹅
⑻ php画图 怎么画平行四边形
PHP没有绘制平行四边形的函数。
你可以用imageline一条线一条线的链接,正如楼上这位所说。但是你也可以用imagepolygon(绘制多边形)。
<?php
// 创建真彩色画布
$image = imagecreatetruecolor(400, 300);
// 填充画布颜色
$bg = imagecolorallocate($image, 0, 0, 0);
// 多边形的颜色
$col_poly = imagecolorallocate($image, 255, 255, 255);
// 绘制多边形
imagepolygon($image,
array (
0, 0,
50, 100,
250, 100,
200, 0
),
3,
$col_poly);
// 输出图片
header("Content-type: image/png");。
⑼ PHP图形验证码识别
1.验证码取出,转到8位或者24位位图
2.位图处理,二值化,RGB设定阀值小于阀值时为1否则为0 1为黑神色,0为白色
3.位图处理,去噪点干扰,利用二值化的位图,八方向法,一个孤立的噪点周围八个方向的点都是0白色。
4.干扰线,定义边界均为白色的区域,若干像素,让该区域在位图移动,如果进入区域内的黑色点小于某值时认定为噪点或干扰线。
5.分割。简单平均分布可以直接固定分割。复杂的有粘连的利用投影,求字符数+1个极小值或极大值。极小值之间最小距离<极小值到前一个极小值距离<极小值之间最大距离。最大距离和最小距离按照字符长度来目测,一点一点的对比得出适当的值。
虽然此法可以解决部分粘连验证码,但是对于一些变态变形的公共区域比较多的验证码是无效的。
如果想知道更多分割方法,请到网络文库,搜索验证码分割。
6.识别。建立特征库,或者利用神经网络自动学习。
然后比对,字节或者文本均可。相似度自己设定,一般在90%以上
这些理论知识都学习明白了,基本就可以去做识别验证码了。
验证码最最重要且最难的一点就是分割。
有些方法不需要分割也可以借鉴一下。