<?php

class image{

    /**
* @param string $backgroundImage 背景图
* @param string $smallImage 小图
* @param int $smallX 小图相对于背景图x轴位移
* @param int $smallY 小图相对于背景图Y轴位移
* @param string $output_path 输出图片的路径
* @param string $output_filename 输出图片的名字
* @return array
*/
public function bindImages($backgroundImage='',$smallImage='',$smallX=,$smallY=,$output_path='',$output_filename='')
{
if(empty($backgroundImage) || empty($smallImage))
{
return array('result'=>"fail",'msg'=>"图片参数为空");
}
if(!file_exists($backgroundImage))
{
return array('result'=>"fail",'msg'=>"背景图片文件不存在");
}
if(!file_exists($smallImage))
{
return array('result'=>"fail",'msg'=>"小图片文件不存在"); }
if(empty($output_path))
{
$output_path='./';
} //需要生成随机名称
if(empty($output_filename))
{
$output_filename=md5(time()).'.png';
} //imagecreatefrompng():创建一块画布,并从 PNG 文件或 URL 地址载入一副图像
$image_1 = imagecreatefrompng($backgroundImage);
$image_2 = imagecreatefrompng($smallImage); //分配图像资源
$image_3 = imageCreatetruecolor(imagesx($image_1),imagesy($image_1));
$color = imagecolorallocate($image_3, , , );
imagefill($image_3, , , $color);
imageColorTransparent($image_3, $color); //图像拷贝
imagecopyresampled($image_3,$image_1,,,,,imagesx($image_1),imagesy($image_1),imagesx($image_1),imagesy($image_1)); imagecopymerge($image_3,$image_2, $smallX,$smallY,,,imagesx($image_2),imagesy($image_2), );
//将画布保存到指定的png文件
$result=imagepng($image_3, $output_path.$output_filename); if($result==true)
{
return array('result'=>"success",'msg'=>"合成成功",'imgurl'=>$output_path.$output_filename);
}
else
{
return array('result'=>"fail",'msg'=>"合成失败");
}
}
} $obj=new image();
$t=$obj->bindImages('background.png','3.png',,);

php合并图片的更多相关文章

  1. 用DIV+CSS切割多背景合并图片 CSS Sprites 技术

    很久之前就在互联网网站和一些js插件中见过这种技术的应用,当时觉得很麻烦,就没有用,也没有去深究. 近段时间一直在做前台的一些东西,涉及到很多div+css的问题.这个东东我又碰到了,所以我花了点时间 ...

  2. c# 根据窗口截图,合并图片

    c# 根据窗口截图,合并图片 public class CaptureWindows { #region 类 /// <summary> /// Helper class containi ...

  3. 减少HTTP请求之合并图片详解(大型网站优化技术)

    原文:减少HTTP请求之合并图片详解(大型网站优化技术) 一.相关知识讲解 看过雅虎的前端优化35条建议,都知道优化前端是有多么重要.页面的加载速度直接影响到用户的体验.80%的终端用户响应时间都花在 ...

  4. C#放缩、截取、合并图片并生成高质量新图的类

    原文:C#放缩.截取.合并图片并生成高质量新图的类 using System;using System.Drawing;using System.Drawing.Imaging;using Syste ...

  5. C#一些常用的图片操作方法:生成文字图片 合并图片等

    生成文字图片: /// <summary> /// 生成文字图片 /// </summary> /// <param name="text">& ...

  6. python合并图片

    因项目需求需要将图片合并故写了一个python脚本,在这里放个笔记 #!/usr/bin/env python #coding=utf-8 import Image import os import ...

  7. .net core 图片合并,图片水印,等比例缩小,SixLabors.ImageSharp

    需要引用 SixLabors.ImageSharp 和SixLabors.ImageSharp.Drawing 引用方法 NuGet包管理 添加程序包来源 https://www.myget.org/ ...

  8. WPF 通过位处理合并图片

    原文:WPF 通过位处理合并图片 本文告诉大家,在使用 WPF 合并两张图片的处理,可以使用像素之间的与或和异或的方式,对三个颜色的通道进行处理. 先给大家看一下软件的界面 这就是通过将左边的两张图片 ...

  9. C#.NET 合并图片

    引用:https://www.cnblogs.com/stulzq/p/6137715.html util: using System; using System.Collections.Generi ...

  10. 2018-10-20-WPF-通过位处理合并图片

    title author date CreateTime categories WPF 通过位处理合并图片 lindexi 2018-10-20 16:53:49 +0800 2018-10-20 1 ...

随机推荐

  1. 使用Scanner类获取键盘输入的会员卡号,并将该数据存储在变量中,输出这个变量的信息

    package come.one01;import java.util.Scanner; // 导入Scanner类public class One03 { public static void ma ...

  2. web项目小总结

     初步小结 1.之前的CSS有些遗忘,返回去重新看知识点,频繁会浪费项目时间. 比如说: position定位 1 position: absolute;//绝对定位 2 position:relat ...

  3. python换行

    python中如果一行代码太长,看着不方便时,怎么办? 只需要在需要换行的地方添加上符号 \ 就行了.

  4. spring中@Autowrite注解和@Resource的区别

    spring不但支持自己定义的@Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是@Resource.@PostConstruct以及@PreDestroy. @Resour ...

  5. oc数组遍历

    #import <Foundation/Foundation.h> //数组遍历(枚举)对集合中的元素依此不重复的进行遍历 int main(int argc, const char * ...

  6. MySQL - EXISTS 和 NOT EXISTS

    语法规则:   SELECT * FROM tableName t WHERE 1 = 1 AND 2 = 2 AND EXISTS (SELECT * FROM tableName t2 WHERE ...

  7. Mysql操作方法类

    帮助类: using System; using System.Collections.Generic; using System.Data; using System.Linq; using Sys ...

  8. 利用Filter解决跨域请求的问题

    1.为什么出现跨域. 很简单的一句解释,A系统中使用ajax调用B系统中的接口,此时就是一个典型的跨域问题,此时浏览器会出现以下错误信息,此处使用的是chrome浏览器. 错误信息如下: jquery ...

  9. Emgu.CV.CvInvoke的类型初始值设定项引发异常

    被这个问题蛋疼了一个下午,终于解决了.我的服务器出现这个问题的原因:可能是没有安装emgucv. 解决方法: 1.下载并安装emgucv 下载地址:链接: https://pan.baidu.com/ ...

  10. Gender Equality in the Workplace【职场上的性别平等】

    Gender Equality in the Workplace A new batch of young women - members of the so-called Millennial ge ...