zoukankan      html  css  js  c++  java
  • php课程 8-28 php如何绘制生成显示图片

    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  ?>
     
  • 相关阅读:
    Luckysheet如何初始化含合并单元格的数据
    Luckysheet如何一键导入本地Excel
    又发现一款纯js开源电子表格Luckysheet
    Sublime Text3 注册码(Windows/Build 3176版本)| 开发工具
    Python初学者笔记(4)-简单的通讯录
    Python初学者笔记(3):输出列表中的奇数/奇数项,字符串中的偶数项,字符串大小写转换
    安装wampserver出现“The Program can't start because MSVCR110.dll is missing from your computer. Try reinstalling the program to fix this problem”
    python初学者笔记(2):阿拉伯数字转换成中文大写
    Python初学者笔记:打印出斐波那契数列的前10项
    JavaScript弹出对话框的三种方式
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/9279604.html
Copyright © 2011-2022 走看看