要使用PHP绘图,就得在php.ini文件中设置一下

找到这个位置 ;extension=php_gd2.dll,然后把前面的分号去掉,重启下apache就可以了

几乎每行代码我都写了注释,方便看懂

<?php
    
    //PHP绘图技术

//创建画布,默认背景是黑色
    $im=imagecreatetruecolor(400,300);

//绘制需要的各种图形
    //创建一个颜色
    $red=imagecolorallocate($im,255,0,0);
    
    //画圆,5个参数(画布,圆心xy,宽高,颜色)
    imageellipse($im,20,20,20,20,$red);
    
    //画直线,6个参数(画布,起点xy,终点xy,颜色)
    imageline($im,0,0,400,300,$red);

//画矩形
    imagerectangle($im,0,0,40,50,$red);

//填充矩形
    imagefilledrectangle($im,0,0,40,50,$red);

//弧线,8个参数(画布,圆心xy,宽高,起点角度,终点角度,颜色) 以3点钟方向为0度,顺时针画圆弧
    imagearc($im,100,100,50,50,180,270,$red);
    
    //扇形
    imagefilledarc($im,100,100,50,50,180,270,$red,IMG_ARC_PIE);

//拷贝图片
    //1.加载原图片
    //$srcImage=imagecreatefrompng("a.png");

//获取图片的大小
    //$srcImageInfo=getimagesize("a.png");

//拷贝原图片到目标画布,8个参数(目标画布,源图片,画布位置xy,源图片起始坐标xy,宽高)
    //imagecopy($im,$srcImage,0,0,0,0,$srcImageInfo[0],$srcImageInfo[1]);

//写字
    //imagestring($im,5,0,0,"hello,world哈哈",$red);此函数比较弱
    $str="hello哈哈";
    imagettftext($im,30,0,50,50,$red,"simsun.ttc",$str);

//输出图像到网页,也可以另存
    header("content-type:image/png");
    imagepng($im);

//销毁该图片(释放内存)

imagedestory($im);
?>

画出的图形还有文字大概是这样的,字符编码需使用UTF-8

对于PHP绘图技术的理解的更多相关文章

  1. Windows 窗体的.Net 框架绘图技术

    当编写一个典型的Windows 窗体程序时,窗体和控件的绘制.效果等操作是不需要特别加以考虑的.这是为什么呢?因为通过使用 .Net 框架,开发人员可以拖动一系列的控件到窗体上,并书写一些简单的与事件 ...

  2. 【PHP绘图技术&&验证码绘制】

    PHP绘图是比较简单的事情,基本绘图如直线.圆.矩形.弧线.填充矩形.填充扇形.非中文字的打印.中文文字的打印在在下面的代码中会纤细讲解. 需要支持中文的字体,可以到windows自带的字体库中找,并 ...

  3. PHP自学之路---报表及绘图技术

    Ø  报表 a)        什么是报表 报表就是用表格.图表等格式来动态显示数据. b)        PHP绘图坐标系 1.  坐标系介绍 下图说明了PHP坐标系.坐标原点位于左上角,以像素为单 ...

  4. PHP 绘图技术

    1.图片格式:目前网站开发常见的图片格式有gif,jpg/jpeg,png ..... 区别: gif 图片压缩率高,但是只能显示256色,可能造成颜色的丢失,可以显示动画 jpg/jpeg 图片压缩 ...

  5. 【二十七】php之绘图技术(gd、jpgraph、短信随机验证码)

    1.绘图技术(GD库) 注意:使用该库,php.ini文件中的extension=php_gd2.dll必须是开启状态,不然无法使用 图片格式:目前网站开发常见的图片格式有gif,jpg/jpeg,p ...

  6. 【MFC】MFC绘制动态曲线,用双缓冲绘图技术防闪烁

    摘自:http://zhy1987819.blog.163.com/blog/static/841427882011614103454335/ MFC绘制动态曲线,用双缓冲绘图技术防闪烁   2011 ...

  7. 【转 | 侵删】2D 绘图技术中的坐标系统与坐标变换

    本文介绍在 2D 绘图技术中的坐标系统和坐标变换的相关知识.同时介绍 Kity 在这方面提供的 API .希望这些知识对于需要进行图形应用开发的同学会有所帮助. 锤子的故事 很久以前,有一个画家,他很 ...

  8. java基础 绘图技术.坦克大战 之java绘图坐标体系(一)

    坐标体系介绍 下图说明了java坐标体系.坐标原点位于左上角,以像素为单位,像素是计算机屏幕上最小的显示单位.在java的坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素:第二个 ...

  9. .NET学习之路----我对P/Invoke技术的理解(一)

    看了P/Invoke技术的介绍,于是想写下点东西,东西包含两个部分:知识的纪录和我的理解及疑问. r托管代码中调用非托管API函数的过程 1.定位包含API的DLL: 2.载入DLL 3.找到DLL中 ...

随机推荐

  1. 安卓app开发-04- app运行的运行和调试

    app 运行的运行和调试 本篇介绍在 Android Studio 开发工具,运行调试设备:真机和虚拟机. 真机调试(USB 连接手机) 尽量使用真机进行调试,无论是调试效果和速度都比模拟器要好.使用 ...

  2. Android8.0适配那点事(二)

    小伙伴们,咱们今天咱继续对Android8.0的适配进行分解,今天将针对启动页,版本适配和系统限制等进行“啃食” 猛戳这里查看Android8.0适配那点事(一): 1.启动页适配 近日,我无意中发现 ...

  3. 修改maven默认的jdk版本

    修改maven默认的jdk版本,想改彻底需要在maven的全局配文件(settings.xml)增加以下信息:   在profiles 节点下增加: <profile> <id> ...

  4. [翻译] MMMaterialDesignSpinner

    MMMaterialDesignSpinner Usage To run the example project, clone the repo, and run pod install from t ...

  5. 创建 In-app Billing 商品

    创建可供购买的 In-app Billing 商品 在你发布 In-app Billing 应用前,你需要在 Google Play 开发者控制台 定义可供购买的数字商品列表. 在 Google Pl ...

  6. switch与java

    switch结构可以更好的解决等值判断问题switch 选择结构的语法:switch (表达式){case 常量 1://代码块1:break;case 常量 2://代码块2:break;..... ...

  7. Windows 7 控制面板Update选项灰色解决办法

    具体解决方法是开始-运行-regedit,打开注册表编辑器,在注册表里找: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows,展开Windo ...

  8. 删除 maven仓库,更新失败的jar包命令

    set REPOSITORY_PATH=D:\maven_cpbsrem ص‎شعثرث÷...for /f "delims=" %%i in ('dir /b /s " ...

  9. ZT 理解class.forName()

    理解class.forName() 分类: [Java SE 基础] 2012-05-17 07:53 3892人阅读 评论(3) 收藏 举报 classloaderclassjdbcejb数据库 目 ...

  10. Hdfs&MapReduce测试

    Hdfs&MapReduce测试 测试 上传文件到hdfs 随意打开一个文件夹传一个文件试试(把javafx-src.zip传到hdfs的/根目录下):hadoop fs -put javaf ...