浅析PHP绘图技术

1、图片格式:目前网站开发常见的图片格式有gif,jpg/jpeg,png .....
区别:
•gif 图片压缩率高,但是只能显示256色,可能造成颜色的丢失,可以显示动画
•jpg/jpeg 图片压缩率高(有损压缩),可以用较小的文件来显示,网页上用得比较多
•png 该格式综合了gif和jpg的优势,缺点是不能显示动画

2、通过PHP编程来绘图


代码如下:

<?php
    //绘图技术 基本步骤 前提:在php.ini文件中启用gd库
    //创建画布 默认背景是黑色的
    $img=imagecreatetruecolor(400,300);
    //绘制各种图形
    //创建一个颜色
    $background = imagecolorallocate($img, 255, 0, 0);
    //画圆
    //imageellipse($img,30,30,50,50,$background);
    //椭圆
    //imageellipse($img,30,30,50,30,$background);
    //画直线
    //imageline($img,0,0,400,300,$background);
    //画矩形
    //imagerectangle ($img, 50 , 20 , 100 , 40 , $background);
    //填充矩形
    //imagefilledrectangle ($img, 50 , 20 , 100 , 40 , $background);
    //画弧线
    //imagearc($img, 100, 100, 150, 150, 180, 270, $background);
    //画扇型  IMG_ARC_CHORD直线连接了起始和结束点   IMG_ARC_PIE
    //imagefilledarc($img, 100, 100, 150, 150, 180, 270, $background,IMG_ARC_PIE);

//拷贝图片到画布
/*    $scrImg=imagecreatefromgif('http://www.baidu.com/img/shouye_b5486898c692066bd2cbaeda86d74448.gif');
    $scrImgInfo=getimagesize('http://www.baidu.com/img/shouye_b5486898c692066bd2cbaeda86d74448.gif');
    imagecopy ($img,$scrImg,10,10,0,0,$scrImgInfo[0],$scrImgInfo[1]);
*/
    //imagecopy ($img,$scrImg,10,10,0,0,270,129);

//写字
    //imagestring ($img , 5 , 20 , 20 , "hello,world", $background );
    //写中文
    $str="PHP绘画技术";
    imagettftext ($img , 30 , 0 , 50 ,50, $background , "MSYHBD.TTF" , $str);
    //输出图像到网页(或者另存为)
    header("content-type: image/png");
    imagepng($img);
    //销毁该图片(释放内存)
    imagedestroy($img);
?>

(0)

相关推荐

  • php绘制一条弧线的方法

    本文实例讲述了php绘制一条弧线的方法.分享给大家供大家参考.具体如下: 弧线相当于截取了椭圆的一部分.代码如下: 复制代码 代码如下: <?php //1.创建画布 $im = imagecreatetruecolor(300,200);//新建一个真彩色图像,默认背景是黑色,返回图像标识符.另外还有一个函数 imagecreate 已经不推荐使用. //2.绘制所需要的图像 $red = imagecolorallocate($im,255,0,0);//创建一个颜色,以供使用 imagea

  • php绘图中显示不出图片的原因及解决

    php绘图首先要确认gd库是否启用,到php.ini文件中,找到extension=php_gd2.dll将前面的:去掉,重新启动服务器. 如果在绘图中还是没有显示正常的图片,说明服务器在回复请求时,图片的信息有误,要保证不要<?php?>前面不要有任何东西,包括html. 另外还不出图片,在绘图前清一下缓存(也就是在写header之前),先写ob_clean(); 然后就可以显示了(包括编写文件下载的时候,出现下载后打不开文件时,也需要清一下缓存).

  • php绘图之加载外部图片的方法

    本文实例讲述了php绘图之加载外部图片的方法.分享给大家供大家参考.具体实现方法如下: 在实际应用中,就是常见的水印功能. 复制代码 代码如下: <?php //1.创建画布 $im = imagecreatetruecolor(300,200);//新建一个真彩色图像,默认背景是黑色,返回图像标识符.另外还有一个函数 imagecreate 已经不推荐使用. //2.加载外部图片 $im_new = imagecreatefromjpeg("baidu.jpg");//返回图像

  • php绘制圆形的方法

    本文实例讲述了php绘制圆形的方法.分享给大家供大家参考.具体实现方法如下: php绘图的基本步骤,有四步(php.ini里的 extension = php_gb2.dll 组件首先需要启用) 1.创建画布: 2.画出所需要的图像(圆.直线.矩形.扇形.弧线.......): 3.输出到网页,或者另存: 4.销毁图片(目的是释放图像所占用的内存). 网站开发最常用的三种图像格式:gif.jpg/jpeg.png (1)gif格式:压缩率最高,但只能显示256色,可能造成色彩的丢失.优势:可能显

  • php绘制一条直线的方法

    本文实例讲述了php绘制一条直线的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <?php //1.创建画布 $im = imagecreatetruecolor(300,200);//新建一个真彩色图像,默认背景是黑色,返回图像标识符.另外还有一个函数 imagecreate 已经不推荐使用. //2.绘制所需要的图像 $red = imagecolorallocate($im,255,0,0);//创建一个颜色,以供使用 imageline($im,30,30,240

  • php绘制一个矩形的方法

    本文实例讲述了php绘制一个矩形的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <?php //1.创建画布 $im = imagecreatetruecolor(300,200);//新建一个真彩色图像,默认背景是黑色,返回图像标识符.另外还有一个函数 imagecreate 已经不推荐使用. //2.绘制所需要的图像 $red = imagecolorallocate($im,255,0,0);//创建一个颜色,以供使用 imagerectangle($im,30,3

  • php绘图之在图片上写中文和英文的方法

    本文实例讲述了php绘图之在图片上写中文和英文的方法.分享给大家供大家参考.具体如下: 第一种方法,只能写英文,中文会出现乱码 复制代码 代码如下: <?php //1.创建画布 $im = imagecreatetruecolor(300,200);//新建一个真彩色图像,默认背景是黑色,返回图像标识符.另外还有一个函数 imagecreate 已经不推荐使用. $red = imagecolorallocate($im,255,0,0); //2.写字 $str = "hello,wo

  • php绘制一个扇形的方法

    本文实例讲述了php绘制一个扇形的方法.分享给大家供大家参考.具体如下: php绘制一个扇形.关于参数说明,除最后一个参数外,其它都与弧线的参数一样,请参考上一篇<php绘制一条弧线的方法>.最后一个参数有四种类型.分别是: IMG_ARC_PIE.IMG_ARC_CHORD.IMG_ARC_NOFILL和IMG_ARC_EDGED,具体参数说明见php手册的 imagefilledarc 画扇形函数. 复制代码 代码如下: <?php //1.创建画布 $im = imagecreat

  • php绘图之生成饼状图的方法

    本文实例讲述了php绘图之生成饼状图的方法.分享给大家供大家参考.具体如下: 这里要实现的功能是人口分布比例图,由扇形组成一个圆,每个扇形颜色不一样. 复制代码 代码如下: <?php $array = array("北京"=>1925,"上海"=>2016,"广州"=>1256,"深圳"=>980); $arr_key = array_keys($array); $color = array()

  • 浅析PHP绘图技术

    1.图片格式:目前网站开发常见的图片格式有gif,jpg/jpeg,png .....区别:•gif 图片压缩率高,但是只能显示256色,可能造成颜色的丢失,可以显示动画•jpg/jpeg 图片压缩率高(有损压缩),可以用较小的文件来显示,网页上用得比较多•png 该格式综合了gif和jpg的优势,缺点是不能显示动画 2.通过PHP编程来绘图 复制代码 代码如下: <?php    //绘图技术 基本步骤 前提:在php.ini文件中启用gd库    //创建画布 默认背景是黑色的    $im

  • Java绘图技术的详解及实例

    Java绘图技术的详解及实例 简单实例 public class Demo1 extends JFrame{ MyPanel mp=null; public static void main(String[] args){ Demo1 demo=new Demo1(); } public Demo1(){ mp=new MyPanel(); this.add(mp); this.setSize(400,300); this.setDefaultCloseOperation(JFrame.EXIT

  • Windows窗体的.Net框架绘图技术实现方法

    本文实例讲述了Windows窗体的.Net框架绘图技术实现方法,非常实用,具体内容如下: 一般来说,当编写一个典型的Windows 窗体程序时,窗体和控件的绘制.效果等操作是不需要特别加以考虑的.这是为什么呢?因为通过使用 .Net 框架,开发人员可以拖动一系列的控件到窗体上,并书写一些简单的与事件相关联的代码然后在IDE中按F5,一个完完全全的窗体程序就诞生了!所有控件都将自己绘制自己,窗体或者控件的大小和缩放都调整自如.在这里经常会用到的,且需要引起一点注意的就是控件效果.游戏,自定义图表控

  • Java绘图技术基础(实例讲解)

    如下所示: public class Demo1 extends JFrame{ MyPanel mp=null; public static void main(String[] args){ Demo1 demo=new Demo1(); } public Demo1(){ mp=new MyPanel(); this.add(mp); this.setSize(400,300); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); th

  • 浅析多层交换技术

    目前,网络设计者所面临的问题是:在日益严重的拥塞负荷及变化无常的拥塞情况下,既要将局域网进行有效的升级,又由于财政的紧缩而不得不维持局域网的有效运行所需的投资.面对这种情况,出现了多层交换技术.对于局域网(LAN)体系结构来说,多层交换技术结合了局域网交换技术和路由技术最优的特征,是一个提高了性能价格比并具有良好扩充性的解决方案. LAN(局域网)中的交换技术和路由技术 LAN中的交换技术是作为对共享的局域网进行最有效的网段划分的解决方案而出现的.LAN交换技术在OSI网络模型的第二层,即数据链

  • 深入浅析C++ traits技术

    前言 traits,又被叫做特性萃取技术,说得简单点就是提取"被传进的对象"对应的返回类型,让同一个接口实现对应的功能.因为STL的算法和容器是分离的,两者通过迭代器链接.算法的实现并不知道自己被传进来什么.萃取器相当于在接口和实现之间加一层封装,来隐藏一些细节并协助调用合适的方法,这需要一些技巧(例如,偏特化).最后附带一个小小的例子,应该能更好地理解 特性萃取. 下面大部分来源于<STL源码剖析>,看原书能了解更多细节. Traits编程技法 让我们一点点抛出问题,然后

  • 浅析PHP Socket技术

    phpsocketSocket位于TCP/IP协议的传输控制协议,提供客户-服务器模式的异步通信,即客户向服务器发出服务请求,服务器接收到请求后,提供相应的反馈或服务!我练习了一个最基本的例子: 使用并发起一个阻塞式(block)连接,即服务器如果不返回数据流,则一直保持连接状态,一旦有数据流传入,取得内容后就立即断开连接.代码如下: 复制代码 代码如下: <?php$host = www.sohu.com; //这个地址随便,用新浪的也行,主要是测试用,哪个无所谓$page = "/in

  • 浅析PHP水印技术

    一直以来对PHP对象处理不是很熟悉,以前都是在用的时候才找手册的.今天有人在phpchina论坛上问到水印的相关问题,恰好我也想学习下,于是研究了下PHP实现图片水印的实现. 查找手册,发现PHP的GD库真的功能很强大很容易实现水印功能.水印其实就是在合并两个图片.对于水印文字同样可以实现. 我提供简单的学习实例,很简单,主要为了了解原理. 两张图片:1.photo.jpg被加水印的图片                        2.source.gif水印图片            下面代

  • 深入浅析Linux轻量级自动运维工具-Ansible

    转自 Linux轻量级自动运维工具-Ansible浅析 - ~微风~ - 51CTO技术博客 http://weiweidefeng.blog.51cto.com/1957995/1895261 Ansible是什么? ansible架构图 ansible特性 模块化:调用特定的模块,完成特定的任务: 基于Python语言研发,由Paramiko, PyYAML和Jinja2三个核心库实现: 部署简单:agentless: 支持自定义模块,使用任意编程语言: 强大的playbook机制: 幂等性

  • Swift操作Quartz 2D进行简单的绘图与坐标变换的教程

    Quartz 2D简介 Quartz 2D是苹果公司开发的一个二维图形绘制引擎,同时支持iOS和Mac系统. 它是一套基于C的API框架,提供了低级别.轻量级.高保真度的2D渲染.它能完成的工作有: 绘制图形 : 线条\三角形\矩形\圆\弧等 绘制文字 绘制\生成图片(图像) 读取\生成PDF 截图\裁剪图片 自定义UI控件 - Quartz 2D进行绘图 iOS绘图技术主要有UIKit,Quartz 2D,Core Animation和OpenGL ES.我们平常对UIKit应该不陌生,而Qu

随机推荐