php-gd库的使用——跟招财圆一起玩php(2)

  继续上一篇,我们接着来进行gd库的学习。 本篇文章学习gd库对图片的处理,采用的例子为图片的旋转和添加水印。

  先来认识一下我们要常用到的函数

  resource imagerotate resource $image , float $angle , int $bgd_color [, int$ignore_transparent = 0 ])

  imagerotate将 src_im 图像用给定的 angle 角度旋转。bgd_color 指定了旋转后没有覆盖到的部分的颜色。旋转的中心是图像的中心,旋转后的图像会按比例缩小以适合目标图像的大小——边缘不会被剪去。

  有几个个需要注意的点,这个函数是逆时针旋转。旋转是用这个函数是很简单的事情,代码如下。

<?php
//这是随便写的一个函数 只为说明旋转的用法及使用需要注意的几个点
//本函用来将存储的图片旋转某角度并覆盖源文件
    function flip($filename, $degress){
     //有的图片可能过于大了,因此需要设置一下脚本最大内存
     ini_set ('memory_limit', '256M');
     //这个函数是获取图片信息,类似不常用的图片会在最后一篇总结中统一介绍
        $data = @getimagesize($filename);
        if($data==false){
            return false;  
        }
        $file_type = explode('/', $data['mime']);
//根据存储文件扩展名创建图像resource
        if($file_type[1]=='png'){
            $src_f = @imagecreatefrompng($filename);
        }else{
            $src_f = @imagecreatefromjpeg($filename);
        }
        if($src_f==""){
            return false; 
        }
//旋转 并将旋转后的资源输入原文件覆盖
        $rotate = @imagerotate($src_f, $degrees,0);
        if($file_type[1]=='png'){
            imagepng($rotate,$filename);
        }else{
            imagejpeg($rotate,$filename);
        }
//销毁资源
        @imagedestroy($src_f);
        @imagedestroy($rotate);  
        return true;  
    }

?>

 

  bool imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_xint $src_y , int $src_w , int $src_h , int $pct )

  将 src_im 图像中坐标从 src_xsrc_y 开始,宽度为 src_w,高度为 src_h 的一部分拷贝到 dst_im 图像中坐标为 dst_x 和 dst_y 的位置上。两图像将根据 pct 来决定合并程度,其值范围从 0 到 100。当 pct = 0 时,实际上什么也没做,当为 100 时对于调色板图像本函数和 imagecopy() 完全一样,它对真彩色图像实现了 alpha 透明。

  快吃饭了,吃完饭接着来整哈~~~~

   

posted @ 2017-01-10 11:30  招财圆  阅读(137)  评论(0编辑  收藏  举报