当前位置:首页 » php学习笔记 » phpGD库(画图)(下)

phpGD库(画图)(下)

原创 stpevenchow 14°c 2019年08月13日 21:36 php学习笔记 0条评论
  移步手机端

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
phpGD库(画图)(下)摘要:

    先回顾一下昨天用GD库画图的六个步骤,    1、准备好画布    2、准备好原色    3、用GD库给的函数去...

总字数:2409

    先回顾一下昨天用GD库画图的六个步骤,

    1、准备好画布

    2、准备好原色

    3、用GD库给的函数去画

    4、告诉浏览器你的mime类型

    5、输出到浏览器或者存放到本地

    6、销毁资源

    $image = imagecreatetruecolor(800,800);

    $red = imagecolorallocate($image , 255 , 0 , 0);

    $green = imagecolorallocate($image , 0 , 255 , 0 , 0);

    $blue = imagecolorallocate($image , 0 , 0 , 255);

    imageellipse($image , 100 , 100 , 22 , 22 ,$blue);

    header("Content-type:image/png");

    imagepng($image);

    imagedestory();

    复习完了过后,在次进入今天的学习,就是把两张图片合并成一张图片,原理就是利用GD库的函数把一张图片放到另外一张图片上面。先捋一捋思路,如果要把a图片放到b图片上面,我们首先要做的就是分别打开这两张图片,这两张图片打开过后在利用imagecopyresampled,这个函数。实现把a图片放到b图上面,最后就是告诉浏览器mime类型以及进行输出和资源销毁,思路捋清楚过后接下来我们就开始把。

    分别打开两张png的图片

    $dst = imagecreatefrompng('baidu.png');

    $scr = imagecreatefrompng('suoy.png');

    imagecopyresampled($dst , $scr , 30 , 60 , 0 , 0 , 100 , 100 , 636 , 524);

    header("Content-type:image/png");

    imagepng($dst);

    imagedestroy($dst);

    imagedestroy($scr);

    效果如下图

    phpGD库(画图)(下)

    

    这里要强调一下,imagecopyresamlped 这个函数得使用方法,我先在这里说,大家也可以自己去试,看个人理解,如下图所示

    图片.png

   

    

  • dst_image

  • 目标图象连接资源。

  • src_image

  • 源图象连接资源。

  • dst_x

  • 目标 X 坐标点。

  • dst_y

  • 目标 Y 坐标点。

  • src_x

  • 源的 X 坐标点。

  • src_y

  • 源的 Y 坐标点。

  • dst_w

  • 目标宽度。

  • dst_h

  • 目标高度。

  • src_w

  • 源图象的宽度。

  • src_h

  • 源图象的高度。

    这个是php手册里面得解释,接下来看我们怎么理解了,先解释最后两个scr_w 和scr_h ,已知636,524是这张图片得整体大小,如果我把他们全部都改成200,200大家可以看到下面得效果

    图片.png

    在其它条件不变得情况下,把图片200*200的截取了下来,当图片设置成本身大小式相当于就把图片缩放到了200*200的方框里面,这就是我们dst_w和dst_h的用法

    这里我们就可以总结出,当前面条件不变时,水印图片的大小由底图的决定,当水印图片的大小=其像素值时,这时底图的宽,高就决定了水印图片的缩放程度。

    当然还有就是当且仅当水印图片的大小<其本身像素值时,scr_x和scr_y控制其显示内容。

    当水印图片大小+scr_x/y>其像素某一值时,多余位置则以默认背景颜色显示。如下图所示

    图片.png

    

    好了今天GD库如何合并图片就先更到这里,另外在补充一点就是合并图片时,格式一定要一样,不然会有未知的东西出现

欢迎阅读本文,如果本文对您有所帮助,记得收藏/转发☺

本文链接:http://stpeven.com/post/83.html

版权声明:本文为原创文章,版权归 stpevenchow 所有,欢迎分享本文,转载请保留出处!

本文标签:

三人行,必有我师

评论(0)

发表评论:


【顶】 【踩】 【好】 【懵】 【赞】 【表情】

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

推荐阅读
08月22日

phpGD库(封装水印函数)--3

发布 : | 分类 : php学习笔记 | 评论 : 0人 | 浏览 : 2次
phpGD库(封装水印函数)--3

    继续昨天得水印函数,先再次手敲把代码复制过来,今天是在switch case 增加了defult ,以及在函数参数里面 增加变量position,是用来控制小图放在大图得哪个位置代码如下    function lemo($source = 'shuaige.png' , $sources = 'lemon.png' , $position = 8)  &n...

标签 :
08月21日

phpGD库(封装水印函数)--2

发布 : | 分类 : php学习笔记 | 评论 : 0人 | 浏览 : 10次
phpGD库(封装水印函数)--2

    昨天是获取到了两个函数的图像的大小,今天接下来就是利用坐标轴把小图放到图片的位置给算出来,这里我们要用到switch case ,我自己手动画了一张图,个人感觉应该好理解,下面还是先把昨天的获取图片大小的参数先打出来    function lemo($source = 'shuaige.png' , $sources = 'lemon.png' )  &n...

标签 :
08月20日

phpGD库(封装水印函数)--1

发布 : | 分类 : php学习笔记 | 评论 : 0人 | 浏览 : 10次
phpGD库(封装水印函数)--1

    前天把验证码函数弄明白过后,对function的印象在次加深,以及GD库部分image函数的用法,还是先回顾一下封装验证码函数有哪几个步骤    1、设置好函数    2、创建画布    3、设置好背景颜色//深、浅    4、设置好字符串    &n...

标签 :
08月18日

phpGD库(封装验证码函数)--5

发布 : | 分类 : php学习笔记 | 评论 : 0人 | 浏览 : 9次
phpGD库(封装验证码函数)--5

    前面4篇是把封装验证码函数整个进行拆分最后完成了封装操作,整个流程走完过后在回过头去看其实也没有想象中的那么难,作为新手小白的我们不要着急想一口吃一个大胖子,对于重点难点,能拆分操作就进行拆分操作,一步一个脚印的去敲代码,去记住函数的属性,最开始学整个GD库的时候,整个人是没有思路的当真正这4天把验证码函数封装好了过后才发现其实没有想象中的那么难,好多不多罗嗦了,今天就把封装好的验证码函数进行验证登陆操作,把我们前段时间的数据库前后端那...

标签 :
08月17日

phpGD库(封装验证码函数)--4

发布 : | 分类 : php学习笔记 | 评论 : 0人 | 浏览 : 10次
phpGD库(封装验证码函数)--4

    昨天已经实现了把验证码写入图片了,今天就继续操作如何把在图片底部放干扰点和干扰线,话不多说还是先手动把昨天实现的功能代码在次敲出来    function info($width=200 , $height = 60 , $num=5);    {   $image =  $imagecreatetruecolor($widht , $he...

标签 :