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_x, int $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 透明。

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

  

时间: 2024-10-27 13:23:56

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

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

原本我是做c#的,因为单位原因转行做了php.一直处于自己摸索,有问题百度,各种群解决自己问题的状态.最近职业进入倦怠期,也恰巧比较闲.准备成体系的更新和复习下自己的知识技能.这是这个分类的第一篇文章,希望按照每周两篇的博文速度. 编辑总结php各种知识点. 今天我们先来玩图片.本系列文章提纲如下 画条直线写点字,顺便生成验证码 画画曲线画画图,加个水印旋个转 图要好看,样式来配 总结 1. 画条直线写点字,顺便生成验证码 画直线应该是画图中最基本的功能,因此我们从这里开始玩.  首先学习一下基

PHP利用GD库画图和生成验证码图片

首先得确定php.ini设置有没有打开GD扩展功能,测试如下 print_r(gd_info()); 如果有打印出内容如下,则说明GD功能有打开: Array ( [GD Version] => bundled (2.0.34 compatible) [FreeType Support] => 1 [FreeType Linkage] => with freetype [T1Lib Support] => 1 [GIF Read Support] => 1 [GIF Crea

PHP学习笔记-GD库与Jpgraph的使用

转载请标明出处: http://blog.csdn.net/hai_qing_xu_kong/article/details/52281196 本文出自:[顾林海的博客] 前言 学习PHP从第一篇笔记到现在这篇,已经十多篇了,每天花时间去学习是需要毅力的,好在自己对IT这行也是比较感兴趣,算是每天自娱自乐吧,下周一就去考科目三了,想想也是醉了,拖这么长时间. GD库 GD库是一个开放的动态创建图像.源代码公开的函数库,可以从官方网站http://www.boutell.com/gd处下载.目前,

安装GD库解决ThinkPHP 验证码Call to undefined function Think\imagecreate()出错

在php中imagecreate函数是一个图形处理函数,主要用于新建一个基于调色板的图像了,然后在这个基础上我们可以创建一些图形数字字符之类的,但这个函数需要GD库支持,如果没有开启GD库使用时会提示Call to undefined function imagecreate()错误. 例,我在测试一个简单生成图形时实例 Example #1 新建一个新的 GD 图像流并输出图像  代码如下 复制代码 <?php header("Content-type: image/png")

php GD库

php 中之前比较常使用的是GD库来画图像,这个使用得比较多的是验证码的使用.首先GD库画图必须要有的一些步骤: 首先,创建画布,其次,绘制图片轮廓和画本,再次是输出图型,最后是释放资源. 创建方法如下: imagecreatetruecolor(int width,int height); 填充颜色: $color=imagecolorallocate($resouces,int a,int g,int b); 颜色填充: imagefill($resouces,int start,int s

php GD库常用画图型函数

php GD库画各种的图像函数: 如下: 1.画一个像素:imagesetpixed(int x,int y); 2.画矩形:imagerectange($res,$x,$y,$x1,$x2,$color);两个点实现画矩形 3.imagefilledrectange();参数和上面一样 4.画椭圆: imageellipse($res,int x,int y,int cr,int cy,int color);资源,中心,宽度和高度 5.画一个字符串 imagestring($res,int f

PHP学习笔记-----GD库

PHP中GD库的使用 最新的GD库版本支持GIF.JPEG.PNG.WBMP.XBM等格式的图像文件. 创建图像应该完成如下所示的4个步骤. (1)      创建画布 (2)      绘制图像 (3)      输出图像 (4)      释放资源 画布管理 imagecreate()//新建一个基于调色板的图像 imagecreatetruecolor()//新建一个真彩***像 设置颜色 imagecolorallocate()//为一副图像分配颜色 生成图像 imagegif() im

CentOS 开启GD库

在php.ini 中没有找到"extension=php_gd2.dll"这行代码,这是因为CentOS一般没有预装GD库. 解决办法: 1.在线安装GD库 yum -y install php-gd 2.#重启apache,使其生效 service httpd restart

php如何开启GD库

GD库是干什么用的呢!它是php处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片.GD库在php中默认是没有开启的,如果想让它支持图片处理功能,那么就要手动开启GD库 步骤: 1.打开php.ini文件 2.用查找工具找到extension=php_gd2.dll,把extension=php_gd2.dll 前面的[;] 3.测试能否用GD库,代码如下: