php 拼接图片并且之前图片保持之前的颜色

我有个功能拼接两张图片下面是我的代码

    $im     = imagecreatefrompng("images/err.png");
    $stamp = imagecreatefrompng('images/default.png');
    $test = imagecreate(imagesx($stamp)+imagesx($im),imagesy($im));
    $orange = imagecolorallocate($test, 255, 255, 255);
   // image
    imagecopy($test, $stamp, 0, 0, 0, 0, imagesx($stamp), imagesy($stamp));
    imagecopy($test, $im, imagesx($stamp), 0, 10, 0, imagesx($im), imagesy($im));
    header("Content-type: image/png");
    imagepng($test);
    最终的结果是 第二个拼接的图片的颜色都会跟着第一个变化 因为传不上图片只能文字描述下面假如AB是拼接好的图片 有A和B拼接成 B的颜色本来是红色但是拼接完成之后B的颜色会变成A的颜色

AB

阅读 2.7k
2 个回答

图片看不见了,请不要把图片也放在代码视图中。

新手上路,请多包涵

刚好做过这个,其实很简单:
$img = imagecreatetruecolor($width, $height);

// img1(上)和img2(下)拼接起来
imagecopymerge($img, $img1, 0, 0, 0, 0, imagesx($img1), imagesy($img1), 100);
imagecopymerge($img, $img2, 0, imagesy($img1) - 1, 0, 0, imagesx($img2), imagesy($img2), 100);

关键的点就是imagecreatetruecolor

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题