PHP图像处理之画图
PHP图像处理
画图
验证码,统计图
安装GD库-----LAMP
安装后在D:\APMServ5.2.6\PHP\ext文件中有php_gd2.dll文件
在php.ini中extension=php_gd2.dll
(1)创建画布---创建资源类型---高度 宽度
resource imagecreate ( int $x_size , int $y_size )新建一个基于调色板的图像
resource imagecreatetruecolor ( int $width , int $height ) 新建一个真彩色图像
(2)绘制图像
制定各种颜色
imagecolorallocate();为一幅图像分配颜色
(使用imagecolorallocate()要使用imagecreate()创建图像)
imagefill()区域填充
矩形,圆,点,线段,扇形,画字(字符,字符串,freeType)
每一个图像对应一个函数
imagefilledrectangle()画一矩形并填充
imagerectangle()画一个矩形
imageline()画一条线段
imagesetpixel()画一个单一像素
imageellipse() 画一个椭圆
imagefilledellipse() 画一椭圆并填充
<?php
//1.创建图片资源
$img=imagecreatetruecolor(200,200);
// $img=imagecreate(200,200);
$red=imagecolorallocate($img, 255, 0, 0);
$yellow=imagecolorallocate($img,255,255,0);
$green=imagecolorallocate($img,0,255,0);
$blue=imagecolorallocate($img,0,0,255);
$white=imagecolorallocate($img,255,255,255);
//区域填充
imagefill($img,0,0,$white);
//2.画各种图像
//画一矩形并填充
imagefilledrectangle($img, 10, 10, 50, 30, $blue);
//画一个矩形
imagerectangle($img,100,100,190,80,$green);
//画一条线段
imageline($img,0,0,200,200,$red);
//画点
imagesetpixel($img,200,90,$yellow);
//画一个椭圆
imageellipse($img,100,100,100,100,$green);
//画一个椭圆并填充
imagefilledellipse($img,100,100,10,10,$red);
//3.输出或保存图像
header("Content-Type:image/gif");
imagegif($img);
//4.释放资源
imagedestroy($img);
?>
imagefilledarc()画一椭圆弧且填充
<?php
//1.创建图片资源
$img=imagecreatetruecolor(200,200);
$white=imagecolorallocate($img,255,255,255); //白
$gray=imagecolorallocate($img,0xc0,0xc0,0xc0); //灰
$darkgray=imagecolorallocate($img,0x90,0x90,0x90); //淡灰
$navy=imagecolorallocate($img,0,0,0x80); //
$darknavy=imagecolorallocate($img,0,0,0x50);
$red=imagecolorallocate($img,255,0,0); //红
$darkred=imagecolorallocate($img,0x90,0,0); //淡红
//背景设为白色
imagefill($img, 0, 0, $white);
//2.制作3D的效果
for($i=60;$i>50;$i--){
//imagefilledarc() 画一椭圆弧且填充
imagefilledarc($img,50,$i,100,50,-160,40,$darknavy,ING_ARC_PIE);
imagefilledarc($img,50,$i,100,50,40,75,$darkgray,ING_ARC_PIE);
imagefilledarc($img,50,$i,100,50,75,200,$darkred,ING_ARC_PIE);
}
imagefilledarc($img,50,$i,100,50,-160,40,$navy,ING_ARC_PIE);
imagefilledarc($img,50,$i,100,50,40,75,$gray,ING_ARC_PIE);
imagefilledarc($img,50,$i,100,50,75,200,$red,ING_ARC_PIE);
//3.输出或保存图像
header("Content-Type:image/gif");
imagegif($img);
//4.释放资源
imagedestroy($img);
?>
imagechar() 水平地画一个字符
imagefttext()使用 FreeType 2 字体将文本写入图像
<?php
//创建图片资源
$img=imagecreatetruecolor(200,200);
$white=imagecolorallocate($img,255,255,255);
$gray=imagecolorallocate($img,0xc0,0xc0,0xc0);
$darkgray=imagecolorallocate($img,0x90,0x90,0x90);
$navy=imagecolorallocate($img,0,0,0x80);
$darknavy=imagecolorallocate($img,0,0,0x50);
$red=imagecolorallocate($img,255,0,0);
$darkred=imagecolorallocate($img,0x90,0,0);
//背景设为白色
imagefill($img, 0, 0, $gray);
//水平画字符
imagechar($img,5,100,100,"A",$red);
imagechar($img,5,120,120,"B",$red);
//垂直画字符
imagecharup($img,5,60,60,"C",$red);
imagecharup($img,5,80,80,"D",$red);
//画字符串
imagestring($img, 3, 10, 10, "hello", $navy);
imagestringup($img,3,150,150,"hello",$navy);
//imagefttext()使用 FreeType 2 字体将文本写入图像
imagettftext($img, 25, 60, 160, 160, $red, "simkai.ttf", "你好");
//输出或保存图像
header("Content-Type:image/gif");
imagegif($img);
//释放资源
imagedestroy($img);
?>
(3)输出图像/保存处理好的图像
输出各种类型(gif,png,jpeg)
imagegif();
imagejpeg();
imagepng();
(4)释放资源
imagedestroy();
PHP图像处理之画图的更多相关文章
- Java -- AWT 画图,图像处理
1. AWT画图 Graphics类 提供绘制简单图形的方法 更新图片时用到 repaint , update , 程序不应该主动调用paint和update, 这两个方法都应该是由AWT系统负责 ...
- ASP.NET 画图与图像处理-生成高质量缩略图
http://www.cftea.com/c/2007/08/SG9WFLZJD62Z2D0O.asp
- ASP.NET 画图与图像处理-如何直接输出到页面
有时候我们生成的图片并不需要保存到磁盘中,而是直接输出到页面,比如验证码.实时报表等,如何做呢?请参考如下: protected void Page_Load(object sender, E ...
- opencv6.3-imgproc图像处理模块之边缘检测
接opencv6.2-improc图像处理模块之图像尺寸上的操作 本文大部分都是来自于转http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutori ...
- 黄聪:C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果) (转)
一.各种旋转.改变大小 注意:先要添加画图相关的using引用. //向右旋转图像90°代码如下:private void Form1_Paint(object sender, System.Wind ...
- C# (GDI+相关) 图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果) (转)
C#图像处理 (各种旋转.改变大小.柔化.锐化.雾化.底片.浮雕.黑白.滤镜效果) 一.各种旋转.改变大小 注意:先要添加画图相关的using引用. //向右旋转图像90°代码如下 ...
- MATLAB图像处理工具箱
下列表格中除了个别函数外,其余函数都是图像处理工具箱提供的关于图像处理的函数,现摘录到此以备查找. 表1 图像显示 函数名 功能说明 函数名 功能说明 colorbar 颜色条显示 montage 按 ...
- windows“画图”工具用法
图片编辑工具不少,photoshop功能强大,但是并不是那么容易掌握.而且,倘若一个简单的图片处理问题就使用这么强大的工具,有点“杀鸡焉用牛刀”的意思,要知道只打开photoshop就需要一段等待时间 ...
- matlab图像处理
matlab图像处理 转自:http://www.cnblogs.com/lovebay/p/5094146.html 1. 图像和图像数据 缺省情况下,MATLAB将图像中的数据存储为双精度类型(d ...
随机推荐
- [saiku] 源码整合[maven整合]
saiku源码的整合分为[普通web项目整合]和[maven整合]两种 本节主要是讲解如何整合为maven项目 转载自:http://blog.csdn.net/gsying1474/article/ ...
- java代码抓取网页邮箱
实现思路:1.使用java.net.URL对象,绑定网络上某一个网页的地址2.通过java.net.URL对象的openConnection()方法获得一个HttpConnection对象3.通过Ht ...
- ios基础篇(四)——UILabel的常用属性及方法
UILabel的常用属性及方法:1.text //设置和读取文本内容,默认为nil label.text = @”文本信息”; //设置内容 NSLog(@”%@”, label.text); //读 ...
- Java JDK的安装以及环境变量的配置
安装并配置完Android SDK之后,本想着可以做个简单的APP应用了,只是依然提示我“请确认Java JDK是否安装”类似的报错,于是又进行了Java JDK的安装以及环境变量的配置. 1.下载地 ...
- 表单重置reset
最近一直在做各种页面的“增删改查”,只是在做新增功能的时候,自己一直在使用 reset来清空form表单,原以为这样子的清空方法是万无一失的,可惜最终还是在进行“修改”操作完了之后再“新增”的时候,就 ...
- PHP超级全局变量——Session 变量
PHP session 变量用于存储有关用户会话的信息,或更改用户会话的设置.Session 变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用. PHP Session 变量 当您运行一个 ...
- BZOJ2280 [Poi2011]Plot
恩..这题真是sxbk 我们先二分答案,然后判断答案是否满足要求 判断方法是二分当前段的长度一直做到底,当然我们可以用倍增这样快一点,直接随机增量就可以了 然后就是卡常..... 然后就是卡精度QAQ ...
- DOM系列---进阶篇【转】
内容提纲: 1.DOM类型 2.DOM扩展 3.DOM操作内容 一.DOM类型 DOM基础篇中,我们了解了DOM的节点并且了解怎样查询和操作节点,而本身这些不同的节点,又有着不同的类型. DOM类 ...
- Eclipse中SVN的安装步骤(两种)和使用方法 [转]
一.给Eclipse安装SVN,最常见的有两种方式:手动方式和使用安装向导方式.具体步骤如下: 方式一:手动安装 1.从官网下载site-1.6.9.zip文件,网址是:subclipse.tigri ...
- HTTP状态代码
1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码. 100 (继续) 请求者应当继续提出请求. 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 101 (切换协议) 请求 ...