php课程 8-28 php如何绘制生成显示图片

一、总结

一句话总结:gd库轻松解决

1、php图片操作生成的图的两种去向是什么?

一种在页面直接输出,一种存进本地磁盘

2、php操作图片的库有哪些?

PHP: Image Processing and Generation - Manual
http://php.net/manual/en/refs.utilspec.image.php
Cairo
Exif
GD
Gmagick
ImageMagick

3、如何防止网站强刷注册?

a、验证码
b、ip限制,比如这个ip只能注册30个用户,多了就让你明天再来

4、如何防止网站暴力破解用户名?

记录用户名,如果输入错5次,那只能明天再来登录
第一次没有验证码,输入出错之后验证码就出来

5、网站上面图片的缩放、裁剪、加水印是怎么实现的?

交给的php,gd库轻松解决

6、php中常见的资源类型有哪些?

数据库连接资源
gd库画布资源

7、php变量或者说资源的释放是什么样的?

一个脚本执行完,执行到最后之后,里面的所有变量或者说资源都会被删除,所以多个php脚本的重复变量是不会相互影响的。

8、html如何声明本文档是图片?

header头中content-type

header('content-type:image/jpeg');

9、gd库的使用需要额外引包么?

不需要,直接进去就开始干就行了,比如说创建画布资源

 1 <?php
 2 // 1.创建画布资源
 3 $img=imagecreatetruecolor(500,300);  4  5 // 2.准备颜色  6 $black=imagecolorallocate($img,0,0,0);  7 $white=imagecolorallocate($img,255,255,255);  8 $red=imagecolorallocate($img,255,0,0);  9 $green=imagecolorallocate($img,0,255,0); 10 $blue=imagecolorallocate($img,0,0,255); 11 12 // 3.填充画布 13 imagefill($img,0,0,$black); 14 15 // 4.在画布上画图像或文字 16 imagefilledellipse($img,250,150,200,200,$white); 17 18 // 5.输出最终图像或保存最终图像 19 header('content-type:image/jpeg'); 20 21 // 图片从浏览器上输出 22 imagejpeg($img); 23 24 // 把图片保存到本地 25 // imagejpeg($img,'jin.jpg'); 26 27 // 6.释放画布资源 28 imagedestroy($img); 29 30 ?>

10、php中gd画图的场景有哪些?

1.验证码
2.缩放
3.裁剪
4.水印

11、php中创建图像的六个步骤是什么?

1.创建画布资源
$img=imagecreatetruecolor(500,300);

2.准备颜色
$black=imagecolorallocate($img,0,0,0);
$white=imagecolorallocate($img,255,255,255);
$red=imagecolorallocate($img,255,0,0);
$green=imagecolorallocate($img,0,255,0);
$blue=imagecolorallocate($img,0,0,255);

3.填充画布
imagefill($img,0,0,$black);

4.在画布上画图像或文字
imagefilledellipse($img,250,150,200,200,$white);

5.输出最终图像或保存最终图像
header('content-type:image/jpeg');

1)图片从浏览器上输出
imagejpeg($img);

2)把图片保存到本地
imagejpeg($img,'jin.jpg');

6.释放画布资源
imagedestroy($img);

 1 <?php
 2 // 1.创建画布资源
 3 $img=imagecreatetruecolor(500,300);  4  5 // 2.准备颜色  6 $black=imagecolorallocate($img,0,0,0);  7 $white=imagecolorallocate($img,255,255,255);  8 $red=imagecolorallocate($img,255,0,0);  9 $green=imagecolorallocate($img,0,255,0); 10 $blue=imagecolorallocate($img,0,0,255); 11 12 // 3.填充画布 13 imagefill($img,0,0,$black); 14 15 // 4.在画布上画图像或文字 16 imagefilledellipse($img,250,150,200,200,$white); 17 18 // 5.输出最终图像或保存最终图像 19 header('content-type:image/jpeg'); 20 21 // 图片从浏览器上输出 22 imagejpeg($img); 23 24 // 把图片保存到本地 25 // imagejpeg($img,'jin.jpg'); 26 27 // 6.释放画布资源 28 imagedestroy($img); 29 30 ?>

二、php如何绘制生成显示图片

1、相关知识

php中gd画图的场景:
1.验证码
2.缩放
3.裁剪
4.水印

php中创建图像的六个步骤:
1.创建画布资源
$img=imagecreatetruecolor(500,300);

2.准备颜色
$black=imagecolorallocate($img,0,0,0);
$white=imagecolorallocate($img,255,255,255);
$red=imagecolorallocate($img,255,0,0);
$green=imagecolorallocate($img,0,255,0);
$blue=imagecolorallocate($img,0,0,255);

3.填充画布
imagefill($img,0,0,$black);

4.在画布上画图像或文字
imagefilledellipse($img,250,150,200,200,$white);

5.输出最终图像或保存最终图像
header('content-type:image/jpeg');

1)图片从浏览器上输出
imagejpeg($img);

2)把图片保存到本地
imagejpeg($img,'jin.jpg');

6.释放画布资源
imagedestroy($img);

绘制图像:
• imagefill();   //区域填充
• imagesetpixel();  //画一个像素
• imageline();    //画一条线
• imagerectangle();   //画一个矩形
• imagefilledrectangle();   //画一矩形并填充
• imagepolygon();     //画一个多边形
• imagefilledpolygon();  //画一个多边形并填充
• imageellipse();  //画一个椭圆
• imagefilledellipse();    //画一个椭圆并填充
• imagearc();    //画一个椭圆弧
• imagefilledarc();  //画一个椭圆弧并填充
• imagestring();   //水平地画一行字符串
• imagestringup();  //垂直地画一行字符串
• imagechar();   //水平地画一个字符
• imagecharup();   //垂直地画一个字符
• imagettftext();  //用truetype字符向图像画一个字符串

2、代码

 1 <?php
 2 // 1.创建画布资源
 3 $img=imagecreatetruecolor(500,300);
 4
 5 // 2.准备颜色
 6 $black=imagecolorallocate($img,0,0,0);
 7 $white=imagecolorallocate($img,255,255,255);
 8 $red=imagecolorallocate($img,255,0,0);
 9 $green=imagecolorallocate($img,0,255,0);
10 $blue=imagecolorallocate($img,0,0,255);
11
12 // 3.填充画布
13 imagefill($img,0,0,$black);
14
15 // 4.在画布上画图像或文字
16 imagefilledellipse($img,250,150,200,200,$white);
17
18 // 5.输出最终图像或保存最终图像
19 header('content-type:image/jpeg');
20
21 // 图片从浏览器上输出
22 imagejpeg($img);
23
24 // 把图片保存到本地
25 // imagejpeg($img,'jin.jpg');
26
27 // 6.释放画布资源
28 imagedestroy($img);
29
30  ?>

转载于:https://www.cnblogs.com/Renyi-Fan/p/9279604.html

php课程 8-28 php如何绘制生成显示图片相关推荐

  1. Qt使用QPainter绘制方式显示图片

    Qt使用QPainter绘制方式显示图片 文章目录 Qt使用QPainter绘制方式显示图片 1.前言 2.主要代码 3.实现效果 4.源代码 更多精彩内容

  2. html 根据坐标画多边形,28种css3绘制多边形代码分享

    本文分享了28种CSS3绘制多边形的代码.在做网页项目中需要使用多边形扇形图形来完成一些功能,第一印象就是使用CSS3来完成.经过查资料发现了transform 的skew()正好合适且且使用方便. ...

  3. 计算机组成原理课程设计海明码,海明码生成与校验电路的设计

    海明码生成与校验电路的设计 沈阳航空航天大学 课课 程程 设设 计计 报报 告告 课程设计名称:计算机组成原理课程设计计算机组成原理课程设计 课程设计题目:海明码生成与校验电路的设计海明码生成与校验电 ...

  4. html添加花瓣,JS绘制生成花瓣效果的方法

    本文实例讲述了JS绘制生成花瓣效果的方法.分享给大家供大家参考.具体如下: 这里使用JS绘制生成花瓣效果,纯JS生成的图形绘制效果,想研究一下JavaScript图形绘画方面知识的,不妨参考一下这个小 ...

  5. 28.纯 CSS 绘制一个世界上不存在的彭罗斯三角形

    28.纯 CSS 绘制一个世界上不存在的彭罗斯三角形 原文地址:https://segmentfault.com/a/1190000014946883 感想:三个平面图形旋转 HTML代码: < ...

  6. PIL应用之生成验证码图片

    PIL应用之生成验证码图片 - 残阳似血的博客 PIL应用之生成验证码图片 位于分类 我爱Python 现在的网页中,为了防止机器人提交表单,图片验证码是很常见的应对手段之一.这里就不详细介绍了,相信 ...

  7. asp.net中上传图片并生成小图片,自动添加水印的代码 .

    asp.net中上传图片并生成小图片,自动添加水印的代码 分类: .Net(C#) 2010-03-22 15:28 242人阅读 评论(0) 收藏 举报 /// 上传图片生成缩略图及水印 (来自:h ...

  8. HTML5印章绘制电子签章图片,中文英文椭圆章、中文英文椭圆印章

    HTML5印章绘制电子签章图片,中文英文椭圆章.中文英文椭圆印章 原文:HTML5印章绘制电子签章图片,中文英文椭圆章.中文英文椭圆印章 电子签章图片采集 印章图片的采集两种互补方式: 方式1:在线生 ...

  9. 【愚公系列】2022年08月 微信小程序-view生成分享图片

    文章目录 前言 一.view生成分享图片 1.组件的封装 2.组件的使用 3.效果 4.第三方工具的使用 前言 微信小程序并不支持view直接转绘到画布上,想要实现海报功能必须通过以下4个步骤: 通过 ...

最新文章

  1. Struts2新特性
  2. 配置Apache2.2+PHP5+CakePHP1.2+MySQL5
  3. MySQL的约束、多表查询、子查询
  4. 只想多吃,而不考虑能吃掉多少——如何恰到好处的按需进度规划?
  5. VC++实现获取网络时间
  6. SSM关联码表的多个字段显示中文流程以及sql写法
  7. 手写简版spring --5--资源加载器解析文件注册对象
  8. LZW压缩算法原理解析与实现【转载】
  9. 程序员的算法课(9)-常见字符串算法
  10. [转]天天生鲜,html效果布局
  11. 大数据_Flink_流式处理_简介_Flink是什么---Flink工作笔记0001
  12. tensorboard 1.14.0 has requirement setuptools>=41.0.0, but you‘ll have setuptools 40.2.0
  13. vs 2017 建立 php,WIN10系统下OSG+VS2017或者vs2019环境搭建
  14. IDM下载器使用教程
  15. 计算机显卡故障与排除,电脑显卡常见故障排除方法
  16. linux更新后不能进入系统,Ubuntu内核升级后无法进入系统的解决办法
  17. 上海是怎么错失这些年的互联网机遇的?
  18. 很重要,padding margin百分比按照父元素width作为参照物
  19. 论文笔记| 后门攻击|Composite Backdoor Attack for Deep Neural Network byMixing Existing Benign Features
  20. Matlab 方位角计算

热门文章

  1. CCIE理论-第七篇-SD-WAN网络(二)
  2. 【HDU - 5777】domino(贪心)
  3. 【HDU - 5492】Find a path(dp,tricks)
  4. 【2018icpc宁夏邀请赛现场赛】【Gym - 102222A】Maximum Element In A Stack(动态的栈中查找最大元素)
  5. oracle如何把字符集改回默认,更改oracle字符集
  6. 2018年工业机器人销量排位_工业机器人年销量连续七年居世界首位 专家建议开辟新市场...
  7. 链队列的基本运算java_链式队列基本操作的实现问题
  8. java语言特点 字符串不变_面试必问:Java中String类型为什么设计成不可变的?
  9. java基本数据类型存储,JAVA - 基本数据类型的存储空间长度
  10. Maven Scope取值的含义