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

phpGD库(画图)(下)

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

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章

    先回顾一下昨天用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)

发表评论:


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

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

推荐阅读
11月22日

php--变量检查

发布 : | 分类 : php学习笔记 | 评论 : 0人 | 浏览 : 1次
php--变量检查

<?php// 特点:// 1,都只能有一个参数// 2,根据检查类型,符合的返回true,不符合返回false// 1,检查是否是整数 is_int()// 检查变量,如果存储数据为整数,返回true// 检查变量,如果存储数据不是整数,返回false$var = 'abc';var_dump(is_int($var));// 2,检查是否是浮点数 is_float()$var = 1000;var_dump(is_float($var));// 3,检查是否是数值 is...

标签 :
11月21日

php--常量

发布 : | 分类 : php学习笔记 | 评论 : 0人 | 浏览 : 8次
php--常量

 <?php常量通过define()函数来自定义常量参数:1,定义得常量名称,需要时字符串格式2,定义得常量数值,数值必须是标量类型3,第三个参数,不使用如果需要对自定义常量进行数据修改,只能在第一次定义得define()函数中,对定义得数据进行修改define('rm', 15);echo rm;输出结果是15 $int = rmvar_dump($int);输出结果int(15)问题1,不能对常量进行赋值或者修改2,也不能对同一个自定义常量进行多次定...

标签 :
11月20日

php--其它类型转化为数字

发布 : | 分类 : php学习笔记 | 评论 : 0人 | 浏览 : 9次
php--其它类型转化为数字

<?php/*其它类型转化为数字多出现于计算boolean true     1false    0字符串:从字符串左侧起,只转化符合数学形式的部分1, null --- 0*//*$int = 100 + null;echo $int; 输出结果为:1002、true ---1 false ---0*//*$int = 100 + true;echo $int; 输出结果101$int = 100 + false;ec...

标签 :
11月19日

php--if判断语句

发布 : | 分类 : php学习笔记 | 评论 : 0人 | 浏览 : 9次
php--if判断语句

<?phpif 判断语句当表达式最终结果为true时,执行执行体1,当表达式最终结果为false时,执行执行体2执行体1,执行体2是设定需要执行的php程序if (表达式) {    执行体1} else {    执行体2}if (5 < 3) {    echo '真---true';} else {    echo '假---false...

标签 :
11月18日

php--string

发布 : | 分类 : php学习笔记 | 评论 : 0人 | 浏览 : 8次
php--string

<?php其它类型转化为字符串多出现于字符串拼接时字符串拼接将两个字符串拼接为一个字符串使用 . 点作为字符串拼接符号 $str = '北京' . '上海';echo $str'<br>';使用中需要注意与小数点进行区别字符串拼接符号左右要有空格小数点左右不能有空格数据类型的自动转化1、null自动转化为空字符串''$str = '北京' . null;echo $str;2、布尔类型tr...

标签 :