合并两张图片php,php多张图片合并方法分享
本文主要和大家分享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多张图片合并方法分享相关推荐
- python合并两个有序列表_Python实现合并两个有序链表的方法示例
本文实例讲述了Python实现合并两个有序链表的方法.分享给大家供大家参考,具体如下: 思路:先选出第一个节点,然后遍历两个链表,把小的作为当前节点的下一个节点,一直到其中一个链表遍历完,这时候把另一 ...
- 合并两个有序数组(初级算法合并两个有序数组)
合并两个有序数组 1.题目: (合并两个有序数组) 2. 示例 3.解答步骤 4. 提交结果(提交用时和内存消耗) 声明: 题目均来自力扣,网址力扣官网, 如有侵权,告知必删! 本题地址: 点击我跳转 ...
- html数组拼接js,javascript合并两个数组最简单的实现方法
在开发的过程中,我们很多时候会遇到需要将两个数组合并成一个数组的情况出现. var arr1 = [1, 2, 3]; var arr2 = [4, 5, 6]; // 将arr1和arr2合并成为[ ...
- 合并两个xml文件 php_怎样合并两个pdf文件
Pdf文件我们常常在办公中用到,有很多朋友在网上手机资料后不知道怎么把它加入到pdf文件中,有些朋友可能会想到复制粘贴,可是pdf文件是不能够直接进行编辑的,那么应该怎么才能把pdf文件合并在一起呢? ...
- python合并两个列表并去重_python合并多个txt文件
python合并多个txt文件 #合并一个文件夹下的多个txt文件 #coding=utf-8 import os #获取目标文件夹的路径 filedir = os.getcwd()+'\\数据' # ...
- js合并两个或多个数组的方法
方法一:concat方法(不改变原数组) var arr = [1,2,3]; var arr1 = [{name: 'me'},{age: 18}] var arr2 = ['a','b','c'] ...
- java合并两个doc文件,java实现合并2个文件中的内容到新文件中
编写一个程序 将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中 a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔. 复制代码 代码如下: packag ...
- php把这两个二维数组合并,两个二维数组的合并
合并前的数组a: array (size=3) 0 => array (size=2) 'id' => string '113' (length=3) 'email' => stri ...
- 苹果输入法自动合并两个短横线/减号的解决方法
最近在学MD的时候学到了表格,怎么打都打不出来 仔细一看发现在连着打两个横线的时候,他合到了一起了 解决方法 设置-通用-键盘-智能标点-Off 问题解决
- 合并两个链表数据结构c语言,合并两个链表.
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #define N1 10 #define N2 10 struct list{ int date ; struct list *nex ...
最新文章
- [转]Windows与VC命名规则
- Python 到底该怎么学才好?你关心的答案来了
- John Hopcroft、Bart Selman与张宏江展望“AI未来10年”
- DNS域名解析服务(正向解析、反向解析、主从服务器)
- C和指针之动态内存分配之编程练习4
- JavaScript Function.arguments 属性详解
- 如何让图片充满excel单元格_如何在Excel单元格建立下拉菜单
- IBatis.net动态SQL语句(六)
- 文件夹的最小化时,上面的名字。
- 数据库的内连接和外连接的区别
- Gps开发实战——卫星数量获取
- 微信跳转手机浏览器实现
- 使用pygame制作贪吃蛇小游戏
- C语言基础之汉语拼音读数字
- CentOS通过Samba访问NAS共享目录
- matplotlib 基础_子图创建
- day81_babasport第七天
- 线程通信,生产者消费者问题案例,模拟来电提醒和接听电话
- pytorch3d 上手测试
- 利用winform 操作access 数据库
热门文章
- element中navMenu结合路由使用
- 盛语小智教育机器人是骗人的_盛语小智机器人骗局揭露【是不是真的有效】多久可以见...
- 绿色发展视域下都柳江流域水族传统生态文化研究
- Python 结巴分词(jieba)Tokenize和ChineseAnalyzer的使用及示例代码
- Android对控件进行隐藏
- 游戏开发:目前主流游戏引擎的分析报告
- Python Web 开发中 Excel 转 PDF 文件
- Unity3D高级编程之进阶主程-陆泽西 (Jesse Lu)
- Delphi xe7组件和控件的安装方法
- 64位服务器IIS7.5运行ASP网站连接数据库错误解决方案