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 ...
随机推荐
- nodeschool.io 7
~~ HTTP CLIENT ~~ Write a program that performs an HTTP GET request to a URL provided toyou as the f ...
- 《JavaScript权威指南》读书笔记(一)
日期 2015-11-28 把之前的读书笔记在我弄丢它之前搬过来~~ 时间过去好久,回头一看理解都不一样了. 重点浏览了一下和Java的不同之处: js是一种宽松类型语言:js不区别整形数值与浮点型数 ...
- 25个有用和方便的 WordPress 速查手册
如果你是一个 WordPress 编码器或开发人员,下载一些方便的 WordPress 备忘单寻找你的工作然后你在正确的地方.我们已经列出了25个有用的和方便的 WordPress 速查手册.Word ...
- css3内容溢出属性
overflow是css2.0的属性,css3中新增了overflow-x和overflow-y属性. overflow-x主要是用来定义对水平方向内容溢出的剪切,而overflow-y主要是用来定义 ...
- apache2.4域名配置参数
apache2.4和 2.2版本的配置有区别 2.4的配置如下 <VirtualHost *:80>DocumentRoot /www/web/projectServerName www. ...
- javascript 把字符串转换为对象
function strToJson(str) { var json = (new Function("return " + str))(); return json;}
- js在mootools框架下的new Class
首先,在HTML文件中引入mootools.js. mootools-more.js.mootools-core.js,然后就能使用mootools封装的一些特性. 几乎类似于面向对象. mootoo ...
- Hadoop MapReduceV2(Yarn) 框架简介[转]
对于业界的大数据存储及分布式处理系统来说,Hadoop 是耳熟能详的卓越开源分布式文件存储及处理框架,对于 Hadoop 框架的介绍在此不再累述,读者可参考 Hadoop 官方简介.使用和学习过老 H ...
- memached 服务器lru算法
1.LRU是Least Recently Used的缩写,即最近最少使用页面置换算法,是为虚拟页式存储管理服务的.LRU算法的提出,是基于这样一个事实:在前面几条指令中使用频繁的页面很可能在后面的几条 ...
- WordPress的神器
导读 Markdown 是一种简单的标记语言,旨在帮助你花费更小的代价来格式化纯文本文档.在 WordPress 下你可以使用 HTML 或者可视化编辑器来格式化你的文档,但是使用 markdown ...