php 创建图像实例
<? header ("content-type: image/png");
代码如下 | 复制代码 |
$newimg = imagecreate(250,250); |
由于图像还是空白的,因此你可能会希望用一些彩色来填充它。你需要首先使用imagecolorallocate()函数用其rgb值为这种颜色指定一个名字,这一函数的格式为imagecolorallocate([image], [red], [green], [blue])。如果要定义天蓝色,可以使用如下的语句:
代码如下 | 复制代码 |
$skyblue = imagecolorallocate($newimg,136,193,255); |
接下来,需要使用imagefill()函数用这种颜色填充这个图像,imagefill()函数有几个版本,例如imagefillrectangle()、imagefillpolygon()等。为简单起见,我们通过如下的格式使用imagefill()函数:
代码如下 | 复制代码 |
imagefill([image], [start x point], [start y point], [color]) imagefill($newimg,0,0,$skyblue); |
最后,在图像建立后释放图像句柄和所占用的内存:
代码如下 | 复制代码 |
imagepng($newimg); imagedestroy($newimg); ?> |
这样,创建图像的全部代码如下所示:
php教程代码:
代码如下 | 复制代码 |
<? header ("content-type: image/png"); $newimg = imagecreate(250,250); $skyblue = imagecolorallocate($newimg,136,193,255); imagefill($newimg,0,0,$skyblue); imagepng($newimg); imagedestroy($newimg); ?> |
代码如下 | 复制代码 |
$ch_str="你要生成中文验证码汉字"; for($i=0;$i<$line_num;$i++) //生成中文验证码二 imagettftext($im, rand(28,32), rand(0,70), rand(25,27), rand(70,100), $font_color, $fnt, $str2); //把汉字放在数组 $randcode=array('宠'); //gb2312转utf8
if($utf8!="") //unicode转utf8
$str.=(0x80|$c>>6&0x3f); //生成附加码 //加入杂点 $font_face="simkai.ttf"; //字体 |
// 使用的时候直接用html语法:<img src="excode.php">调用就可以了,在服务端做验证时取session存储的验证字符与用户提交的字符进行比较,相同则通过验证
代码如下 | 复制代码 |
<?php教程 /** class cls_jpgraph var $graph = ''; //图形对象 var $lineplot = ''; //线性对象 var $scale = ''; //图表类型? (textlin,textlog,intlin) /*margin position*/ /** $this->graph = new graph($this->width,$this->height); } /** /*图片基本信息设置*/ $this->scale = $scale; if(!empty($scale)) { if(!empty($bgcolor)) { /*如果手工设置了图片位置*/ if(!empty($this->title)) { } /*创建线性关系图表(linear plot)*/ return $this->lineplot; /*创建柱状图表(bar pot)*/ return $this->barpot; /*创建数据柱状图表组*/ return $this->gbplot; /*创建文本内容*/ if(is_array($postion)) { $this->graph->add($this->txt); /*创建丙状图表*/ $this->piegraph = new piegraph(300,200); $this->piegraph->title->set($title); if('3d' != $type) { function get_auth_code($length=4) if( $spam->stroke() === false ) { return $chars; /*完成图形创建并显示*/ ?> |
.jpgraph开源项目介绍
jpgraph是一个面向对象图形创建函数库。可用它来生成柱状图,饼状图,甘特图,网状图等常用到的一些图形。支持的图片格式有gif,jpg和png。
jpgraph是一个开源的利用php教程编写的专门提供图表的类库。它使得作图变成了一件非常简单的事情,你只需从数据库教程中取出相关数据,定义标题,图表类型等内容,你只需要学习掌握为数不多的jpgraph内置函数(可以参照jpgraph附带例子学习),利用简单的几行代码就可以做出超酷超炫的图表来!
2.jpgraph下载安装及使用
jpgraph的官方下载地址是:http://jpgraph.net/download/
下载时要注意,jpgraph分为几个版本,你可以根据你的php版本来确定下载那个版本的jpgraph库文件。
安装的话比较简单,不过需要注意下面两点:
确保你的php版本最低为4.04(不过我估计一般现在都5.0以上了,应该不成问题)。
另外一定要支持gd库,jpgraph是基于gd库的,至于gd库版本则可随意。
下载完成jpgraph后,将压缩包解压到任意目录下,进入到jpgraph-版本号目录下,有两个目录,其他的txt文件为简单使用说明文件,可以看看了解即可。docportal目录为帮助系统目录,其中包括从开始安装配置到使用说明,函数介绍等一应俱全,如果有耐心的话,可以好好看看。
我们主要需要的examples目录,在它里面包含了jpgraph库文件和很多的样例文件,我们可以查看学习它的样例文件,这样学习使用起来jpgraph才是最快的。
在jpgraph库文件目录中有一个名为jpg-config.inc的文件,它是jpgraph的配置文件,通过这里可以设置jpgraph的相关参数,例如设置jpgraph的cache(缓存)文件夹,和ttf(字体)文件夹等内容。
注意事项:
cache(缓存)文件夹路径可以自己定义,而ttf(字体)文件夹必须是%system%/fonts。
确保php对cache(缓存)文件夹有写的权限。
注意程序编码为utf-8编码。
3.简单样例
关于jpgraph的样例程序在examples目录下实在够多,我就不再过多罗嗦,就简单说明一下写法及上一个小例子。
首先在程序开始引用包含jpgraph库文件:
require_once ('jpgraph/jpgraph.php');
require_once ('jpgraph/jpgraph_line.php');
然后开始创建图形对象:
$graph = new graph(350,250);
设置图形及图表的各种样式属性参数:
$graph->setscale("textlin");
$graph->img->setmargin(30,90,40,50);
$graph->xaxis->setfont(ff_font1,fs_bold);
最后进行显示:
$graph->add($lineplot);
$graph->stroke();
下面是一个比较简单的但完整的jpgraph程序样例:
setscale("textlin");
$graph->img->setmargin(30,90,40,50);
$graph->xaxis->setfont(ff_font1,fs_bold);
$graph->title->set("dashed lineplot");
// create the linear plot
$lineplot=new lineplot($ydata);
$lineplot->setlegend("test 1");
$lineplot->setcolor("blue");
// style can also be specified as setstyle([1|2|3|4]) or
// setstyle("solid"|"dotted"|"dashed"|"lobgdashed")
$lineplot->setstyle("dashed");
// add the plot to the graph
$graph->add($lineplot);
// display the graph
$graph->stroke();
?>
到此jpgraph库的基本介绍就结束了,再下一篇我会放出我写的已经封装了jpgraph库的类文件,同时可能会有一篇关于jpgraph常见问题总结的说明,欢迎大家到时候给我提出意见哦。
代码如下 | 复制代码 |
function uploadimage($upname,$smallmark=1,$dstsw,$dstsh=0,$path_dim,$path_xim,$newname,$smallname=0,$filetype="null") { if (!is_uploaded_file($_files[$filename][tmp_name])) { if($max_file_size < $file["size"]) {//检查文件大小 $filename = $file["tmp_name"]; $src_w = $im_size[0]; $all_path = $path_im.$newname.".".$filetype;//路径+文件名,目前以上传时间命名 switch($src_type) {//判断源图片文件类型 if($smallmark == 1) { if($src_w > $dst_sw) { // 原图尺寸 > 缩略图尺寸 switch($src_type) { |
相关文章
- 1.创建div元素: Javascript代码 复制代码 代码如下: <scripttypescripttype="text/javascript"> functioncreateElement(){ varcreateDiv=document.createElement("div"); createDiv.innerHTML="Testcreateadiveleme...2013-10-13
- 今天小编就为大家分享一篇python 实现将Numpy数组保存为图像,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-27
- 这篇文章主要介绍了JS创建Tag标签的方法,结合具体实例形式分析了javascript动态操作页面HTML元素实现tag标签功能的步骤与相关操作技巧,需要的朋友可以参考下...2017-06-15
- 这篇文章主要介绍了C#图像亮度调整的方法,涉及C#操作图像亮度的相关技巧,需要的朋友可以参考下...2020-06-25
- 什么是cookie? cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。 有关cookie的例子: 名字 cookie 当访...2014-05-31
- PS怎么创建变形文字?ps中想要给输入的文字变形,该怎么调整文字的显示形态呢?下面我们就来看看ps给文字变形的方法,需要的朋友可以参考下 我们在图层上输入文字后,可以...2017-07-06
- 这篇文章主要介绍了C#图像透明度调整的方法,涉及C#操作图像透明度的相关技巧,需要的朋友可以参考下...2020-06-25
- 主键与外键的关系,通俗点儿讲,我现在有一个论坛,有两张表,一张是主贴 thread,一张是回帖 reply先说说主键,主键是表里面唯一识别记录的字段,一般是帖子id,体现在访问的时候,例如是 thread.php?id=1 表示我要访问的是帖子...2015-11-24
idea 无法创建Scala class 选项的原因分析及解决办法汇总
这篇文章主要介绍了idea 无法创建Scala class 选项的解决办法汇总,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-02- 这篇文章主要介绍了c#接口使用的实例,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-07-17
- 一、数据访问对象 (DAO)YiiDAO 基于 PHP Data Objects (PDO) 构建。它是一个为众多流行的DBMS提供统一数据访问的扩展,这些 DBMS 包括MySQL, PostgreSQL 等等。因此,要使用 Yii DAO,PDO 扩展和特定的 PDO 数据库驱动(例如...2015-11-24
- 写递归函数,可考虑缓存,定义一些静态变量来存上一次运行的结果,多程序运行效率很有帮助.。 大概步骤如下: step1:到数据库取数据,放到一个数组, step2:把数据转化为一个树型状的数组, step3:把这个树型状的数组转为html代码。...2015-11-08
- Drupal可以让第三方模块创建自己的钩子。在通常的实践中,有两种类型的钩子你可能想要创建,一种是内容修改类的钩子,一种是拦截类的钩子。 Drupal的钩子系统允许和模...2016-11-25
- 这篇文章主要介绍了C#创建Windows服务的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
- 下面小编就为大家带来一篇javascript创建对象的几种模式介绍。小编觉得挺不错的,现在分享给大家,也给大家做个参考...2016-05-09
- 今天小编就为大家分享一篇Python-numpy实现灰度图像的分块和合并方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-27
- 这篇文章主要为大家详细介绍了python opencv实现图像配准与比较,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
- 这篇文章主要介绍了使用opencv识别图像红色区域,并输出红色区域中心点坐标,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-06-03
- 这篇文章主要介绍了C#中的IEnumerable简介及简单实现实例,本文讲解了IEnumerable一些知识并给出了一个简单的实现,需要的朋友可以参考下...2020-06-25
- 本文章来给各同学总结了一些常用的图像处理函数,包括有缩放、剪裁、缩放、翻转、旋转、透明、锐化功能,大家可参考参考。 注意事项:如果要使用php gd处理我们需要...2016-11-25