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


    Ø  报表
    a)        什么是报表
    报表就是用表格、图表等格式来动态显示数据。
    b)        PHP绘图坐标系
    1、  坐标系介绍
    下图说明了PHP坐标系。坐标原点位于左上角,以像素为单位,像素是计算机屏幕上最小的显示单位,看下图:

     

     
    2、  坐标体系--像素
    像素Pixel是由 Picture(图像) Element(元素)这两个单词的字母所组成的,是用来计算数码影像的一种单位,如同摄影的相片一样,数码影像也具有连续性的浓淡阶调,我们若把影像放大数倍,会发现这些连续色调其实是由许多色彩相近的小方点所组成,这些小方点就是构成影像的最小单位像素Pixel)。这种最小的图形的单元能在屏幕上显示通常是单个的染色点。越高位的像素,其拥有的色板也就越丰富,越能表达颜色的真实感。
    c)        PHP绘图技术
    1、  PHP绘图的基本原理和步骤
    创建画布
    绘制需要的各种图像(Gd库提供绘图函数)
    输出图像到网页,也可以另存为
    销毁图片(释放内存)
      目前网站开发的创建图片格式GIF Jpg/JPEG Ping Bmp。。
    总结:
    GIF:图片压缩率高,但是只能显示256色,可能造成色彩丢失。可以显示动画图片。
    Jpg/JPEG:图片压缩率高(有损压缩),可以用较小的文件来显示,王爷上用的比较多。
    Ping:该格式综合了上面2种优势,缺点是不能显示动画。高保真(色彩丢失少。
    2、   基本绘图函数介绍

    <?php
        //PHP绘图技术,
     //phpinfo(); 
        //创建画布,默认的背景是黑色的
        $im=imagecreatetruecolor(400, 300);
        
        //绘制各种需要的图形(圆,直线,
        $red=imagecolorallocate($im, 255, 0, 0);
        
        //圆
       // imageellipse($im, 20, 20, 20, 20, $red);
        
        //直线
        imageline($im, 0, 0, 400, 300, $red);
        
        //矩形
        imagerectangle($im, 1, 1, 200, 100, $red);
        
        //填充矩形
        
       // imagefilledrectangle($im, 2, 2, 40, 50, $red);
        
        //弧线
       // imagearc($im, 100, 100, 50, 100, 0, 180, $red);
        
        //扇形
        //imagefilledarc($im, 100, 100, 50, 100, 0, 180, $red, IMG_ARC_PIE);
        
        //拷贝图片到画布
        //1,加载原图片
       // $srcImage = imagecreatefromgif("1.GIF");
        //获得图片信息
        //$srcImageInfo=getimagesize("1.GIF");
        //2,拷贝元图片到画布
       // imagecopy($im, $srcImage, 0, 0, 0, 0, $srcImageInfo[0], $srcImageInfo[1]);
        
        //写字(不支持中文
        imagestring($im, 5, 0, 0, "I LOVE YOU 1 2 3", $red);
        //写中文需要用到下面的函数
       // imagettftext($im, 20, 0, 100, 100, $red, "'arial.ttf","我爱你" );
        
        
        //输出图像到网页,也可以另存
        
        header("Content-type: image/gif");
        imagegif($im);
        
        //销毁图片,释放内存
       imagedestroy($im); 
         
        ?> 


  • 相关阅读:
    【BZOJ 3098】 Hash Killer II
    【BZOJ 1189】[HNOI2007]紧急疏散evacuate
    【BZOJ 1088】 [SCOI2005]扫雷Mine
    【BZOJ 1821】 [JSOI2010]Group 部落划分 Group
    【BZOJ 1013】 [JSOI2008]球形空间产生器sphere
    【BZOJ 1084】[SCOI2005]最大子矩阵
    【BZOJ 1085】 [SCOI2005]骑士精神
    JNday6-pm
    JNday6-am
    JNday5-pm
  • 原文地址:https://www.cnblogs.com/pangblog/p/3260419.html
Copyright © 2020-2023  润新知