RT:
请问用php怎么能合成两张图片呢?
一张是png 透明的底图,另一张是jpg 图片现在想让jpg的图片合成到png的底图上面,成为一张新的图片,如何实现呢?另外问下,是不是合成的图片要尺寸一样大呢?还是底图可以大点的?本人在网上也找了一些方法,但好像都不行 $path_1 = "topic_assets/522592b5d61cb_ip4.jpg";
$path_2 = "topic_assets/topic_border_android.png";
//echo $path_1;
$image=imagecreatefromjpeg($path_1);
$wm=imagecreatefrompng($path_2);
$im=imagecreatetruecolor(imagesx($image),imagesy($image));
imagecopy($im,$image,0,0,0,0,imagesx($image),imagesy($image));
imagecopy($im,$wm,0,0,0,0,imagesx($wm),imagesy($wm));做过类似的,给个解决方案吧...
请问用php怎么能合成两张图片呢?
一张是png 透明的底图,另一张是jpg 图片现在想让jpg的图片合成到png的底图上面,成为一张新的图片,如何实现呢?另外问下,是不是合成的图片要尺寸一样大呢?还是底图可以大点的?本人在网上也找了一些方法,但好像都不行 $path_1 = "topic_assets/522592b5d61cb_ip4.jpg";
$path_2 = "topic_assets/topic_border_android.png";
//echo $path_1;
$image=imagecreatefromjpeg($path_1);
$wm=imagecreatefrompng($path_2);
$im=imagecreatetruecolor(imagesx($image),imagesy($image));
imagecopy($im,$image,0,0,0,0,imagesx($image),imagesy($image));
imagecopy($im,$wm,0,0,0,0,imagesx($wm),imagesy($wm));做过类似的,给个解决方案吧...
解决方案 »
- 关于php如何加载dll文件
- wapeq建站程序后台上传图片时提示错误:Fatal error: Call to undefined function, 好像要修改代码才行 汗!! 请教哦
- 这个网上找的JS 购物车应该怎么用呢?或者这基于XML的购物车怎么用?在线求教
- fckeditor插入图片后,获取的路径不对
- php传递参数的方式有哪些?
- 批量替换php文件中的class,id的值
- 菜鸟求助
- order by rand()很费资源么?
- PHP中有没有像ASP中的global.asa文件一样的功能
- require_once和require有什么区别
- php 正则表达式抓取网页内容
- mysql读取中文标点时数据被截断
$t2 = 'http://avatar.csdn.net/2/5/B/1_yykr1987.jpg';$im1 = imagecreatefromjpeg($t1);
$im2 = imagecreatefromjpeg($t2);imagecopymerge($im1, $im2, 35, 5, 0, 0, imagesx($im2), imagesy($im2), 63);imagejpeg($im1);
我的要求是一张jpg ,一张png ,png做底图, 合成的也是png格式的!按照版主的做法,出现了一大堆奇怪的乱码 ,如下图我的代码是这样的:
$path_1 = "522592b5d61cb_ip4.jpg";
$path_2 = "topic_border_android.png";
$im1 = imagecreatefromjpeg($path_1);
$im2 = imagecreatefrompng($path_2);
imagecopymerge($im1, $im2, 35, 5, 0, 0, imagesx($im2), imagesy($im2), 63);
imagejpeg($im2);
imagedestroy($im2);
不知道哪里的问题....
imagejpeg生成的是jpg格式的图片。imgpng生成的才是png格式的图片。你的之所以出现”怪“代码,是因为没有加上header,所以被当做二进制数据直接输出了。
前面加上header("content-type:image/png");
然后用imgpng生成图片。
也可能是 BOM 头的关系
header("content-type:image/png");
//合成两张图片
$targetFileDark="522ec9db6b46b";
$dest = imagecreatefrompng('topic_border_android.png');
$src = imagecreatefromjpeg($targetFileDark."_ip4.jpg");
$newim = imagecreatetruecolor(103,92);
$back = imagecolorallocatealpha($newim, 0, 0, 0, 127);
imagefilledrectangle($src, 0, 0, 98, 58, $back);
imagealphablending($dest, false);
imagesavealpha($dest, true); imagecopymerge($dest, $src, 36,11,0,0,imagesx($src), imagesy($src),100);
imagepng($dest,$targetFileDark."_android.png");
imagedestroy($dest);
imagedestroy($src);昨天研究了一下午,终于搞定了