douyu1656 2013-05-07 06:35
浏览 578
已采纳

PHP imagecopymerge源图像的背景更改透明为黑色

I need to merge two pictures, my code is like this:

$image = imagecreatefromjpeg("images/big.jpg"); 
$image1 = imagecreatefrompng("small_image/8.png");
$size = getimagesize("small_image/8.png");


imagecopymerge($image, $image1, 400, 30, 0, 0, $size[0], $size[1], 100);
header('Content-Type: image/gif');
imagegif($image);
imagedestroy($image1);


the frist picture is :

enter image description here

second is : enter image description here

final result not transparent

enter image description here

Please help!!!Thanks!

new version of code:

$image = imagecreatefromjpeg("images/big.jpg"); 
$image1 = imagecreatefrompng("small_image/8.png");
$size = getimagesize("small_image/8.png");
$background = imagecolorallocate($image, 0, 0, 0);
imagecolortransparent($image, $background);
imagealphablending($image1, false);
imagesavealpha($image1, true);


imagecopymerge($image, $image1, 400, 30, 0, 0, $size[0], $size[1], 100);

header('Content-Type: image/gif');


imagegif($image);
imagedestroy($image1);

and the result is : enter image description here

  • 写回答

1条回答

  • dongyi5817 2013-05-09 05:43
    关注

    Ok..i found a solution now..

    $image = imagecreatefromjpeg("images/show01.jpg"); //
    $image1 = imagecreatefrompng("small_image/1.png");//
    $image3 = imagecreatefromgif("images/carBg.gif");//
    $size = getimagesize("small_image/1.png");
    $overlay = imagecreatetruecolor(80, 80);
    
    $white = imagecolorallocate($overlay, 229, 229, 229);
    imagefilledrectangle($overlay, 0, 0, 80, 80, $white);
    
    imagecolortransparent($overlay,$white);  
         imagecopy($overlay, $image1, (80-$size[0])/2, (80-$size[1])/2, 0, 0,   $size[0],$size[1]);
    imagecopymerge($image3, $overlay, 0, 0, 0, 0, 80, 80, 100);
    
    
    imagecopymerge($image, $image3, 280, 30, 0, 0, 80, 80, 100);
    
    header('Content-Type: image/png');
    
    // and finally, output the result
    imagepng($image);
    imagedestroy($image);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R
  • ¥15 在线请求openmv与pixhawk 实现实时目标跟踪的具体通讯方法
  • ¥15 八路抢答器设计出现故障
  • ¥15 opencv 无法读取视频
  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))