博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

PHP 绘图技术

Posted on 2013-05-16 14:45  Step at a time  阅读(909)  评论(0编辑  收藏  举报

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);
?>