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=0,$smallY=0,$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, 255, 255, 255);

imagefill($image_3, 0, 0, $color);

imageColorTransparent($image_3, $color);

//图像拷贝

imagecopyresampled($image_3,$image_1,0,0,0,0,imagesx($image_1),imagesy($image_1),imagesx($image_1),imagesy($image_1));

imagecopymerge($image_3,$image_2, $smallX,$smallY,0,0,imagesx($image_2),imagesy($image_2), 100);

//将画布保存到指定的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',200,200);

来源:https://www.cnblogs.com/norm/p/7285294.html

php合图,php合并图片相关推荐

  1. 利用Unity自带的合图切割功能将合图切割成子图

    转载的,牛人无处不在,我还太渺小 虽然目前网上具有切割合图功能的工具不少,但大部分都是自动切割或者根据plist之类的合图文件切割的, 这种切割往往不可自己微调或者很难维调,导致效果不理想. 今天逛贴 ...

  2. Cocos Creator 消除TexturePacker合图导致的灰边

    问题描述 Cocos Creator v2.4.9中,用TexturePacker默认参数合图后使用合图中的图片作为Sprite Frame时,会出现图片非空像素的边缘出现灰边. 解决方案 勾选Red ...

  3. Android拼接合并图片生成长图

    Android拼接合并图片生成长图 代码实现合并两张图片,以第一张图片的宽度为标准,如果被合并的第二张图片宽度和第一张不同,那么就以第一张图片的宽度为准线,对第二张图片进行缩放. 假设根目录的Pict ...

  4. android 照片拼接长图_Android拼接合并图片生成长图-阿里云开发者社区

    Android拼接合并图片生成长图 代码实现合并两张图片,以第一张图片的宽度为标准,如果被合并的第二张图片宽度和第一张不同,那么就以第一张图片的宽度为准线,对第二张图片进行缩放. 假设根目录的Pict ...

  5. java图片处理,裁剪,合图,等比例缩放

    java图片处理,裁剪,合图,等比例缩放 现在 外面核心,图片文章比较少,看了拷贝代码,而用不了,用相应jar包处理,很多等比例缩放, 达不到 想要的给予的期望:本工具类,是之前做微信打印机写的 基于 ...

  6. Cocos2d-JS项目之三:使用合图

    studio里使用合图感觉和spriteBatchNode差不多,但有不同,合图只起到在加载资源时减少IO的作用,起不到批渲染的作用.其实想想,studio本来就是用来拼UI界面的,一个上点规模的UI ...

  7. unity3d 动态合批设置_【CocosCreator】突破动态合图

    1. 动态合图的默认规则 引擎中对动态合图的描述如下: 它能在项目运行时动态的将贴图合并到一张大贴图中.当渲染一张贴图的时候,动态合图系统会自动检测这张贴图是否已经被合并到了图集(图片集合)中,如果没 ...

  8. Cocos Creator - 动态合图(dynamicAtlasManager)

    步骤 Cocos Creator - 动态合图(dynamicAtlasManager) 前言 启用.禁用动态合图 贴图限制 支持定制的渲染组件 调试 总结 Cocos Creator - 动态合图( ...

  9. cocos creator | 为什么 shader 效果在编辑器中显示正常,运行后却显示异常? 合图纹理的uv计算

    获取源码,请关注公众号: 感谢QQ群(521643513)内 honmono 大佬的指导 01 uv 坐标 之后的文章中,我们再详细介绍顶点着色器,片段着色器,纹理等知识 这里简单了解下基本概念 渲染 ...

最新文章

  1. 4. matlab 中的axis与axes的区别
  2. codeup:问题 D: 最短路径
  3. 导出excel 数字前少0_【产品介绍】数字压力校验仪
  4. 【数字孪生】关于数字孪生的冷思考及其背后的建模和仿真技术
  5. springmvc笔记(1)—使用maven快速构建springmvc项目
  6. php json 转 xml格式,PHP中如何将JSON文件转XML格式
  7. webbrowser 修改浏览器版本的方法
  8. 来自天秤座的梦想_天秤座:单线全自动机器学习
  9. swagger2使用步骤
  10. Pandas to_datetime
  11. 为什么选择react?为前端开发选择React的六大理由
  12. IDEA集成Git使用教程
  13. cnapckSurround c++builder Region 代码折叠快捷键
  14. 面试java回答优缺点_面试时被问“你有什么优缺点”应该怎么回答?
  15. 方舟原始恐惧mod生物代码_方舟:生存进化新手攻略
  16. 基于HMM的拼音输入法
  17. Git 版本回退方法
  18. 单核CPU与多核CPU的区别,多线程的优点,什么是并行?并发?
  19. 拓嘉辰丰电商:拼多多服务激励分有什么意义?怎样查看
  20. nginx启动无反应

热门文章

  1. jsp页面科学计数法显示问题的解决办法
  2. Springboot 配置类( @Configuration) 不能使用@Value注解从application.propertyes中加载值以及Environment为null解决方案
  3. java.io.IOException: Too many open files错误解决方案
  4. 企业中常见的推荐系统架构(附交流视频和PPT下载链接)
  5. 【报告分享】2020年中国5G经济报告--助力新时代高质量发展.pdf(附下载链接)...
  6. Facebook: 亿级向量相似度检索库Faiss 原理+应用
  7. 基于scikit-learn的随机森林调参实战
  8. linux装入归档文件时出现了一个错误_Linux下解压tar.xz文件
  9. wifi定位算法 java_几种室内定位技术方案对比,室内定位种类的优缺点一目了然...
  10. java 调用jni方法_Java JNI 本地方法调用Java对象方法