浅析PHP绘图技术

yipeiwu_com5年前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('/zb_users/upload/202003/mmdiuuevyh1.gif');
    $scrImgInfo=getimagesize('/zb_users/upload/202003/mmdiuuevyh1.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);
?>

相关文章

PHP中关键字interface和implements详解

PHP 接口 PHP 类是单继承,也就是不支持多继承,当一个类需要多个类的功能时,继承就无能为力了,为此 PHP 引入了类的接口技术。 如果一个抽象类里面的所有方法都是抽象方法,且没...

php 静态化实现代码

模板文件template.htm: 复制代码 代码如下:<html> <head> <title>%title%</title> <...

PHP 二级子目录(后台目录)设置二级域名

我们可以利用Apache的.htaccess重写来实现301跳转,具体操作方法是--将后台的根目录文件夹中的.htaccess文件添加内容为: <IfModule mod_...

PHP Session 变量的使用方法详解与实例代码

当您运行一个应用程序时,您会打开它,做些更改,然后关闭它。这很像一次会话。计算机清楚你是谁。它知道你何时启动应用程序,并在何时终止。但是在因特网上,存在一个问题:服务器不知道你是谁以及你...

PHP5.5和之前的版本empty函数的不同之处

作为我最喜欢使用的函数之一,今天也终于发现这个函数的恶魔之处。洋洋洒洒写了以下代码,本地测试一切ok,到服务器上就SB了。复制代码 代码如下:if(strlen($passwd) <...