php合并图片(转)

 1 function combineImage($head_img,$middle_img,$footer_img,$save_path){
 2     $source_w = 400;
 3     $source_h = 1142;
 4     //取头部图片大小
 5     $head_size = getimagesize($head_img);
 6     $head_height = $head_size[‘1‘];
 7     $head_width = $head_size[‘0‘];
 8     $head_start_x = floor(($source_w-$head_width)/2);//头部开始位置
 9     //取中间图片大小
10     $midd_size = getimagesize($middle_img);
11     $midd_height = $midd_size[‘1‘];
12     $midd_width = $midd_size[‘0‘];
13     $midd_start_y = $head_height-15;//中间开始Y坐标,因为头部的图片底部有空白,所以减去15
14     $midd_start_x = floor(($source_w-$midd_width)/2);
15
16     //取底部图片大小
17     $foot_size = getimagesize($footer_img);
18     $foot_height = $foot_size[1];
19     $foot_width = $foot_size[0];
20     $foot_start_x = floor(($source_w-$foot_width)/2);//底部图片x坐标
21     $foot_start_y = $source_h-$foot_height;//底部图片y坐标
22
23     $head = imagecreatefrompng($head_img);
24     $middle = imagecreatefrompng($middle_img);
25     $footer = imagecreatefrompng($footer_img);
26
27     $bg_img = imageCreatetruecolor($source_w,$source_h);//生成背景图片
28     $color = imagecolorallocate($bg_img, 255, 255, 255); //设置白色背景
29     imagefill($bg_img, 0, 0, $color);//背景色填充
30     imageColorTransparent($bg_img, $color);//透明
31     imagecopyresampled($bg_img,$head,$head_start_x,0,0,0,$head_width,$head_height,$head_width,$head_height);
32     imagecopyresampled($bg_img,$middle,$midd_start_x , $midd_start_y,0,0,$midd_width,$midd_height,$midd_width,$midd_height);
33     imagecopyresampled($bg_img,$footer,$foot_start_x , $foot_start_y,0,0,$foot_width,$foot_height,$foot_width,$foot_height);
34
35     imagepng($bg_img,$save_path );
36 }
37 $head = dirname(__FILE__).‘/public/images/head.png‘;
38 $midd = dirname(__FILE__).‘/public/images/midd1.png‘;
39 $foot = dirname(__FILE__).‘/public/images/foot1.png‘;
40 $save_path = dirname(__FILE__)."/public/images/testcomblie.png";
41 combineImage($head,$midd,$foot,$save_path);

时间: 2024-08-29 17:19:38

php合并图片(转)的相关文章

猫猫学iOS(五十一)多线程网络之GCD下载合并图片_队列组的使用

猫猫分享,必须精品 原创文章,欢迎转载.转载请注明:翟乃玉的博客 地址:http://blog.csdn.net/u013357243?viewmode=contents 合并图片(图片水印)第一种方法 效果 实现: 思路: 1.分别下载2张图片:大图片.LOGO 2.合并2张图片 3.显示到一个imageView身上 // 异步下载 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

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

原文:减少HTTP请求之合并图片详解(大型网站优化技术) 一.相关知识讲解 看过雅虎的前端优化35条建议,都知道优化前端是有多么重要.页面的加载速度直接影响到用户的体验.80%的终端用户响应时间都花在了前端上,其中大部分时间都在下载页面上的各种组件:图片,样式表,脚本,Flash等等. 减少组件数必然能够减少页面提交的HTTP请求数.这是让页面更快的关键.减少页面组件数的一种方式是简化页面设计.但有没有一种方法可以在构建复杂的页面同时加快响应时间呢?嗯,确实有鱼和熊掌兼得的办法. 这里我们就拿雅

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

很久之前就在互联网网站和一些js插件中见过这种技术的应用,当时觉得很麻烦,就没有用,也没有去深究. 近段时间一直在做前台的一些东西,涉及到很多div+css的问题.这个东东我又碰到了,所以我花了点时间去网上了解了下其中的原理.原来这个叫CSS Sprites技术,主要是个人爱好啦,我对前台这些个东西比较感兴趣,所以会去了解多一点. 废话不多说,直接上我做的小例子: 这是一张多个小背景的图片合并而成的图片,当我们想要在页面上只显示其中我们需要的区域时,我们就需要将其“切”出来. Java代码  

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

需要引用 SixLabors.ImageSharp 和SixLabors.ImageSharp.Drawing 引用方法 NuGet包管理 添加程序包来源 https://www.myget.org/F/imagesharp  包括预览发行版  目前使用的是 1.0.0-beta0005 版本 3个引用 using SixLabors.ImageSharp; using SixLabors.ImageSharp.Formats; using SixLabors.ImageSharp.Proces

WPF 通过位处理合并图片

原文:WPF 通过位处理合并图片 本文告诉大家,在使用 WPF 合并两张图片的处理,可以使用像素之间的与或和异或的方式,对三个颜色的通道进行处理. 先给大家看一下软件的界面 这就是通过将左边的两张图片叠加合并为一张图片,这里的蓝色的通道就是通过位或的方式,绿色通道使用与的方式,红色也使用或的方式. 在 WPF 修改图片颜色 已经告诉大家如何修改 WPF 的图片的颜色,但是为了叠加两张图片,还需要先读取图片的颜色 读取图片 在读取图片之前需要从文件加载图片,先在解决方案放两张图片,然后进行解析 在

Java横向、纵向合并图片

进行图片对比时候想把两张有差异的图片放到一起,方便人工查看下,在网上搜了一些,有纵向合并的. 将纵向合并的自己调整了下,源码如下: import java.io.File; import java.awt.image.BufferedImage; import javax.imageio.ImageIO; public class TestPic { public static void main(String[] args) { xPic(); } public static void xPi

用Java编程如何实现合并图片

对于很多用Java实现图片合并的方法有很多,下面本人就分享一个用Java实现图片合并的代码给大家,具体如下: 1. package com.test; 2. import java.io.File; 3. import java.awt.image.BufferedImage; 4. import javax.imageio.ImageIO; 5. public class ImageCombineTest { 6. public static void main(String args[])

php合并图片

在项目中需要把几张图片合并在一起,如下图 分别由头.身.腿三张图片合并起来 代码如下: 1 function combineImage($head_img,$middle_img,$footer_img,$save_path){ 2 $source_w = 400; 3 $source_h = 1142; 4 //取头部图片大小 5 $head_size = getimagesize($head_img); 6 $head_height = $head_size['1']; 7 $head_wi

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

using System;using System.Drawing;using System.Drawing.Imaging;using System.Drawing.Drawing2D;using System.IO; namespace Framework{public class ImageClass{        public Image ResourceImage;        public int Width=0;        public int Height=0;     

java 合并图片:将多个图片竖向合并在一起

代码: /** * 将宽度相同的图片,竖向追加在一起 ##注意:宽度必须相同 * * @param piclist * 文件路径列表 * @param outPath * 输出路径 */ public static void yPic(List<String> piclist, String outPath) {// 纵向处理图片 if (piclist == null || piclist.size() <= 0) { System.out.println("图片数组为空!&