用gd库画矩形和椭圆
画矩形:bool imagerectangle ( resource $image画布资源
, int $x1左上角的坐标
, int $y1
, int $x2
右下角坐标, int $y2
, int $col颜色
)
填充颜色用imagefilledrectangle();参数和上面的一样
画椭圆:bool imageellipse ( resource $image
, int $cx中心坐标
, int $cy
, int $width宽度
, int $height高度
, int $color颜色)
画圆弧:bool imagearc ( resource $image
, int $cx中心坐标
, int $cy
, int $width宽度
, int $height高度
, int $start起始角度
, int $end结束角度
, int $color颜色)顺时针计算
画圆弧填充颜色,bool imagefilledarc ( resource $image
, int $cx
, int $cy
, int $width
, int $height
, int $start
, int $end
, int $color
, int $style
样式)
style
值可以是下列值的按位或(OR):
IMG_ARC_PIE
IMG_ARC_CHORD
IMG_ARC_NOFILL
IMG_ARC_EDGED
可以用数字相加来叠加多个方式的效果
<?php
//画矩形和椭圆 //画布
$rs=imagecreatetruecolor(600,400); //颜料
$gray=imagecolorallocate($rs,200,200,200);
$red=imagecolorallocate($rs,255,0,0);
$green=imagecolorallocate($rs,0,255,0);
$blue=imagecolorallocate($rs,0,0,255); //绘画
//画矩形
imagerectangle($rs,100,50,500,350,$gray);
//填充颜色
imagefill($rs,0,0,$red); //画椭圆
imagefilledellipse($rs,300,200,400,300,$green);
imagefilledellipse($rs,300,200,300,300,$blue);
imagefilledellipse($rs,300,200,200,300,$green);
imagefilledellipse($rs,300,200,100,300,$blue);
//输出
header('content-type:image/jpeg');
imagejpeg($rs); //销毁对象
imagedestroy($rs); ?>
<?php
//画圆弧 //画布
$rs=imagecreatetruecolor(600,400); //颜料
$gray=imagecolorallocate($rs,200,200,200);
$red=imagecolorallocate($rs,255,0,0);
$green=imagecolorallocate($rs,0,255,0);
$blue=imagecolorallocate($rs,0,0,255); //绘画
//画矩形
imagerectangle($rs,100,50,500,350,$gray);
//填充颜色
imagefill($rs,0,0,$red); //画圆弧
imagearc($rs,300,200,200,150,90,180,$green); //如果填充颜色用
imagefilledarc($rs,300,200,200,150,185,275,$blue,1+4);
//输出
header('content-type:image/jpeg');
imagejpeg($rs); //销毁对象
imagedestroy($rs); ?>
用gd库画矩形和椭圆的更多相关文章
- PHP->利用GD库新建图像
1.确认php中GD库是否开启 在PHP配置文件php.ini中查找extension=php_gd2.dll,去掉前边的(分号) ';' 即可,一般php是默认开启的 2.绘画步骤 创建一个画布(画 ...
- PHP的GD库
GD库 PHP通过GD库,可以对JPG.PNG.GIF.SWF等图片进行处理.GD库常用在图片加水印,验证码生成等方面. 绘制线条 要对图形进行操作,首先要新建一个画布,通过imagecreatetr ...
- GD库使用小结---1
因为一开始,“大家”都说一般任务中,用php操作图片不常见,像我们这种基本业务型的,就更用不到了,所以先别看,偶就没有看.现在有机会了自然要来玩一把. 以前学过C#的GDI+,交了课程设计后忘得一干二 ...
- PHP验证码生成及图片处理(GD库)
GD库是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片,也可以给图片加水印. 本章实现了生成图片并绘画各种形状.图片的压缩.中文字符水印及图片水印 ...
- PHP利用GD库绘图和生成验证码图片
首先得确定php.ini设置有没有打开GD扩展功能,測试例如以下 print_r(gd_info()); 假设有打印出内容例如以下,则说明GD功能有打开: Array ( [GD Version] = ...
- php课程 8-29 gd库能够画哪些东西
php课程 8-29 gd库能够画哪些东西 一.总结 一句话总结:文字,点,线,圆,弧线,矩形,各种形状都是可以的,和html5中的canva能画的东西很像,使用也很像,参数怎么记呢,参数完全不用记, ...
- GD库的基本信息,图像的旋转、水印、缩略图、验证码,以及图像类的封装
GD库检测 <?php phpinfo(); ?> GD库安装• Windows 使用phpstudy • Linux 编译安装 –with-gd• Linux 编译安装扩展 GD库支持的 ...
- gd库
1.开启GD库扩展 去掉注释: extension=php_gd2.dll extension_dir='ext目录所在位置' 2.检测GD库是否开启 phpinfo(); //检测扩展是够开启 ex ...
- 已安装php 编译安装 gd库拓展模块
参考资料:http://wenku.baidu.com/link?url=EgXFShYxeJOZSYNQ_7RCBC-6X8OcRRCqVm4qCv49uBk57d6vLBoUpfYdQ-KqJRs ...
随机推荐
- hive 0.11的安装配置
一.上传hive 0.11解压后的文件到linux 1.用的版本是shark站点提供的,可能是针对shark修改了代码. 2.追加mysql.oracle两个jdbc驱动包到lib目录下. 二.配置相 ...
- HIbernate学习笔记(五) 关系映射之一对多与多对一
三. 多对一 –单向 场景:用户和组:从用户角度来,多个用户属于一个组(多对一 关联) 使用hibernate开发的思路:先建立对象模型(领域模型),把实体抽取出来. 目前两个实体:用户和 ...
- 基于memcached的单机轻量级通用缓存库minicached的实现
一.前言 之前拜读过淘宝子柳的<淘宝技术这十年>之大作,深知缓存技术在系统优化中起着一个举足轻重的作用.无论是文件系统静态文件,数据库的访问,乃至网络数据的请求,只要是与内存访问速度相差较 ...
- nyoj 289 苹果
苹果 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 ctest有n个苹果,要将它放入容量为v的背包.给出第i个苹果的大小和价钱,求出能放入背包的苹果的总价钱最大值. ...
- C++学习笔记(四):枚举
枚举用来代替静态常量,优点就是可以确定值的范围,而常量则无法确定范围: 常量表示法: ; ; ; ; ; bool func(int type) { //范围检查 || type > ) thr ...
- 深入C语言可变参数(va_arg,va_list,va_start,va_end,_INTSIZEOF)
一.什么是可变参数 在C语言编程中有时会遇到一些参数个数可变的函数,例如printf(),scanf()函数,其函数原型为: int printf(const char* format,…),int ...
- 理解shared_ptr<T>
1.shared_ptr<T>解决什么问题? auto_ptr有个局限,拥有权转移.这往往不符合我们的需求,有时候我们期望,多个资源管理对象可以共享一个资源,当引用计数为0的时候,执行de ...
- node.js在windows下的学习笔记(8)---进程管理Process
process是一个全局内置对象,可以在代码中的任何位置访问此对象,这个对象代表我们的node.js代码宿主的操作系统进程对象. 使用process对象可以截获进程的异常.退出等事件,也可以获取进程的 ...
- leetcode解决问题的方法||Integer to Roman问题
problem: Given an integer, convert it to a roman numeral. Input is guaranteed to be within the range ...
- ios十进制、十六进制字符串,byte,data等之间的转换
十进制->十六进制 Byte bytes[]={0xA6,0x27,0x0A}; NSString *strIdL = [NSStringstringWithFormat:@"%@& ...