浅析PHP绘图技术

yipeiwu_com6年前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绘图之加载外部图片的方法

本文实例讲述了php绘图之加载外部图片的方法。分享给大家供大家参考。具体实现方法如下: 在实际应用中,就是常见的水印功能。 复制代码 代码如下:<?php //1、创建画布...

php中html_entity_decode实现HTML实体转义

最近遇到一个问题,数据中包含中文引号,结果被转义存储到数据库,取数据的时候用了htmlspecialchars_decode把实体转义回去,结果发现并没有生效,看了一下htmlspeci...

PHP自带ZIP压缩、解压缩类ZipArchiv使用指南

要使用该PHP扩展类,需要(PHP 5 >= 5.2.0, PECL zip >= 1.1.0),部分方法需要 PHP 5.2.+,且php.ini配置支持zip 对于wi...

PHP编程实现计算抽奖概率算法完整实例

本文实例讲述了PHP编程实现计算抽奖概率算法。分享给大家供大家参考,具体如下: <?php //计算抽奖的概率 function get_rand($proArr)...

PHP flush 函数使用注意事项

ob_*系列函数, 是操作PHP本身的输出缓冲区. 所以, ob_flush是刷新PHP自身的缓冲区. 而flush, 严格来讲, 这个只有在PHP做为apache的Module(han...