本文主要和大家分享php多张图片合并方法,PHP imagecopymerge 函数可以支持两个图像叠加时,设置叠加的透明度,imagecopy 函数则不支持叠加透明,实际上,PHP内部源码里,imagecopymerge在透明度参数为100时,直接调用imagecopy函数。

然而,imagecopy函数拷贝时可以保留png图像的原透明信息,而imagecopymerge却不支持图片的本身的透明拷贝,

比较罗嗦,以一个实际的例子来演示以下:

在图像上打上LOGO水印。

一般来说,logo由图标和网址组成,比如是一个透明的png图像,logo.png ,

现在如果要把这个logo打到图片上,

使用imagecopymerge函数,可以实现打上透明度为30%的淡淡的水印图标,但logo本身的png就会变得像IE6不支持png透明那样,背景不透明了,如果使用imagecopy函数,可以保留logo本身的透明信息,但无法实现30%的淡淡水印叠加,

php官方有人实现的办法:使用 imagecopymerge_alpha 函数可以直接实现这个两个函数的功能,保留png自身透明的同时,实现自定义透明度叠加,不过该函数的内部使用 $opacity = 100 - $opacity; 来实现透明度,好像刚好反了

$dst = imagecreatefromstring(file_get_contents($dst_path));

$src = imagecreatefromstring(file_get_contents($src_path));

imagecopy($dst, $src, 100, 100, 0, 0, 100, 100);//完成合并function imagecopymerge_alpha($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $pct){

$opacity=$pct;

// getting the watermark width

$w = imagesx($src_im);

// getting the watermark height

$h = imagesy($src_im);

// creating a cut resource

$cut = imagecreatetruecolor($src_w, $src_h);

// copying that section of the background to the cut

imagecopy($cut, $dst_im, 0, 0, $dst_x, $dst_y, $src_w, $src_h);

// inverting the opacity

$opacity = 100 - $opacity;

// placing the watermark now

imagecopy($cut, $src_im, 0, 0, $src_x, $src_y, $src_w, $src_h);

imagecopymerge($dst_im, $cut, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $opacity);

}

相关推荐:

合并两张图片php,php多张图片合并方法分享相关推荐

  1. python合并两个有序列表_Python实现合并两个有序链表的方法示例

    本文实例讲述了Python实现合并两个有序链表的方法.分享给大家供大家参考,具体如下: 思路:先选出第一个节点,然后遍历两个链表,把小的作为当前节点的下一个节点,一直到其中一个链表遍历完,这时候把另一 ...

  2. 合并两个有序数组(初级算法合并两个有序数组)

    合并两个有序数组 1.题目: (合并两个有序数组) 2. 示例 3.解答步骤 4. 提交结果(提交用时和内存消耗) 声明: 题目均来自力扣,网址力扣官网, 如有侵权,告知必删! 本题地址: 点击我跳转 ...

  3. html数组拼接js,javascript合并两个数组最简单的实现方法

    在开发的过程中,我们很多时候会遇到需要将两个数组合并成一个数组的情况出现. var arr1 = [1, 2, 3]; var arr2 = [4, 5, 6]; // 将arr1和arr2合并成为[ ...

  4. 合并两个xml文件 php_怎样合并两个pdf文件

    Pdf文件我们常常在办公中用到,有很多朋友在网上手机资料后不知道怎么把它加入到pdf文件中,有些朋友可能会想到复制粘贴,可是pdf文件是不能够直接进行编辑的,那么应该怎么才能把pdf文件合并在一起呢? ...

  5. python合并两个列表并去重_python合并多个txt文件

    python合并多个txt文件 #合并一个文件夹下的多个txt文件 #coding=utf-8 import os #获取目标文件夹的路径 filedir = os.getcwd()+'\\数据' # ...

  6. js合并两个或多个数组的方法

    方法一:concat方法(不改变原数组) var arr = [1,2,3]; var arr1 = [{name: 'me'},{age: 18}] var arr2 = ['a','b','c'] ...

  7. java合并两个doc文件,java实现合并2个文件中的内容到新文件中

    编写一个程序 将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中 a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔. 复制代码 代码如下: packag ...

  8. php把这两个二维数组合并,两个二维数组的合并

    合并前的数组a: array (size=3) 0 => array (size=2) 'id' => string '113' (length=3) 'email' => stri ...

  9. 苹果输入法自动合并两个短横线/减号的解决方法

    最近在学MD的时候学到了表格,怎么打都打不出来 仔细一看发现在连着打两个横线的时候,他合到了一起了 解决方法 设置-通用-键盘-智能标点-Off 问题解决

  10. 合并两个链表数据结构c语言,合并两个链表.

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #define N1 10 #define N2 10 struct list{ int date ; struct list *nex ...

最新文章

  1. [转]Windows与VC命名规则
  2. Python 到底该怎么学才好?你关心的答案来了
  3. John Hopcroft、Bart Selman与张宏江展望“AI未来10年”
  4. DNS域名解析服务(正向解析、反向解析、主从服务器)
  5. C和指针之动态内存分配之编程练习4
  6. JavaScript Function.arguments 属性详解
  7. 如何让图片充满excel单元格_如何在Excel单元格建立下拉菜单
  8. IBatis.net动态SQL语句(六)
  9. 文件夹的最小化时,上面的名字。
  10. 数据库的内连接和外连接的区别
  11. Gps开发实战——卫星数量获取
  12. 微信跳转手机浏览器实现
  13. 使用pygame制作贪吃蛇小游戏
  14. C语言基础之汉语拼音读数字
  15. CentOS通过Samba访问NAS共享目录
  16. matplotlib 基础_子图创建
  17. day81_babasport第七天
  18. 线程通信,生产者消费者问题案例,模拟来电提醒和接听电话
  19. pytorch3d 上手测试
  20. 利用winform 操作access 数据库

热门文章

  1. element中navMenu结合路由使用
  2. 盛语小智教育机器人是骗人的_盛语小智机器人骗局揭露【是不是真的有效】多久可以见...
  3. 绿色发展视域下都柳江流域水族传统生态文化研究
  4. Python 结巴分词(jieba)Tokenize和ChineseAnalyzer的使用及示例代码
  5. Android对控件进行隐藏
  6. 游戏开发:目前主流游戏引擎的分析报告
  7. Python Web 开发中 Excel 转 PDF 文件
  8. Unity3D高级编程之进阶主程-陆泽西 (Jesse Lu)
  9. Delphi xe7组件和控件的安装方法
  10. 64位服务器IIS7.5运行ASP网站连接数据库错误解决方案