php合并图片
<?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合并图片的更多相关文章
- 用DIV+CSS切割多背景合并图片 CSS Sprites 技术
很久之前就在互联网网站和一些js插件中见过这种技术的应用,当时觉得很麻烦,就没有用,也没有去深究. 近段时间一直在做前台的一些东西,涉及到很多div+css的问题.这个东东我又碰到了,所以我花了点时间 ...
- c# 根据窗口截图,合并图片
c# 根据窗口截图,合并图片 public class CaptureWindows { #region 类 /// <summary> /// Helper class containi ...
- 减少HTTP请求之合并图片详解(大型网站优化技术)
原文:减少HTTP请求之合并图片详解(大型网站优化技术) 一.相关知识讲解 看过雅虎的前端优化35条建议,都知道优化前端是有多么重要.页面的加载速度直接影响到用户的体验.80%的终端用户响应时间都花在 ...
- C#放缩、截取、合并图片并生成高质量新图的类
原文:C#放缩.截取.合并图片并生成高质量新图的类 using System;using System.Drawing;using System.Drawing.Imaging;using Syste ...
- C#一些常用的图片操作方法:生成文字图片 合并图片等
生成文字图片: /// <summary> /// 生成文字图片 /// </summary> /// <param name="text">& ...
- python合并图片
因项目需求需要将图片合并故写了一个python脚本,在这里放个笔记 #!/usr/bin/env python #coding=utf-8 import Image import os import ...
- .net core 图片合并,图片水印,等比例缩小,SixLabors.ImageSharp
需要引用 SixLabors.ImageSharp 和SixLabors.ImageSharp.Drawing 引用方法 NuGet包管理 添加程序包来源 https://www.myget.org/ ...
- WPF 通过位处理合并图片
原文:WPF 通过位处理合并图片 本文告诉大家,在使用 WPF 合并两张图片的处理,可以使用像素之间的与或和异或的方式,对三个颜色的通道进行处理. 先给大家看一下软件的界面 这就是通过将左边的两张图片 ...
- C#.NET 合并图片
引用:https://www.cnblogs.com/stulzq/p/6137715.html util: using System; using System.Collections.Generi ...
- 2018-10-20-WPF-通过位处理合并图片
title author date CreateTime categories WPF 通过位处理合并图片 lindexi 2018-10-20 16:53:49 +0800 2018-10-20 1 ...
随机推荐
- Flutter 入坑(1):flutter 环境搭建,window版本
下载安装JAVA环境 1. 既然要做原生应用了,而且是基于Android的,那还是需要我们安装一下JAVA的环境的,我比一般得到一个新系统后首先做的就是这一步. https://www.orac ...
- AngularJS 字符串
AngularJS字符串就像是JavaScript字符串 <!DOCTYPE html><html><head><meta http-equiv=" ...
- Atlas 配置高可用
keepalived安装 #下载keepalived ./configure --prefix=/usr/local Make && make install Atlas主安装keep ...
- python 使用uuid 出现重复
同时保存入数据库时候 ,使用 uuid.uuid1() 后出现 重复的 id , 现在 修改为 (uuid.uuid5(uuid.NAMESPACE_DNS, str(uuid.uuid1()) ...
- Ubuntu16.04 hadoop 伪分布式 的文件配置
首先需要完成java环境的配置,这里就省略了. 完成 hadoop 伪分布(pesudo distribution),只需配置下面 五 个文件即可: hadoop-env.sh core-site.x ...
- DNS服务初步搭建
一.准备DNS服务环境 选择 bind dns服务软件包 直接yum安装 bind 和 bind-utils 工具包,测试机器安装bind-utils测试工具包. 服务程序名为 named 二.配置D ...
- linux三剑客之sed深度实践
参数: -a:追加文本到指定行后 -i:插入文本到指定行前 1.单行增加 [root@redhat~]# sed ' 2a 6,f ' linux.tet 1,a 2,b 6,f 3,c 4 ...
- JZOJ 5456. 【NOIP2017提高A组冲刺11.6】奇怪的队列
5456. [NOIP2017提高A组冲刺11.6]奇怪的队列 (File IO): input:queue.in output:queue.out Time Limits: 1000 ms Mem ...
- Scrapy-redis分布式爬虫爬取豆瓣电影详情页
平时爬虫一般都使用Scrapy框架,通常都是在一台机器上跑,爬取速度也不能达到预期效果,数据量小,而且很容易就会被封禁IP或者账号,这时候可以使用代理IP或者登录方式爬,然而代理IP很多时候都很鸡肋, ...
- Find a path HDU - 5492 (dp)
Find a path Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...