php 图片合成

GD和图像处理(二)


摘要:如何将两张或多张图片合成为一张图片,并输出到浏览器或指定的路径文件。

1. 图片合成:

  • 图片资源路径文件

    $path1 = ‘C:\Users\Administrator\Desktop\10600004.png’;
    path1
    $path2 = ‘C:\Users\Administrator\Desktop\106000040.png’;
    path2

  • 获取图片资源信息

    $im1 = imagecreatefrompng($path1);
    $im2 = imagecreatefrompng($path2);

  • 新建图像,作为合成后图片

    $im3 = imagecreatetruecolor(imagesx($im1), imagesy($im1) + imagesy($im2));
    $_bg_color = imagecolorallocate($im3, 255,255,255); //创建颜色,返回颜色标识符
    imagefill($im3, 0, 0, $_bg_color); //初始化图像背景为$_bg_color

  • 合成: (bool) imagecopymerge ( resource $dst_im , resource $src_im , int $dst_x , int $dst_y , int $src_x , int $src_y , int $src_w , int $src_h , int $pct )

    imagecopymerge($im3, $im1, 0, 0, 0, 0, imagesx($im1), imagesy($im1), 100);
    imagecopymerge($im3, $im2, 0, imagesy($im1), 0, 0, imagesx($im2), imagesy($im2), 100);

  • 输出到浏览器

    header(“Content-type: image/png”);
    imagepng($im3);
    im3
    imagedestroy($im1); //销毁图像,释放资源
    imagedestroy($im2); //销毁图像,释放资源
    imagedestroy($im3); //销毁图像,释放资源

  • 输出的指定文件

    $path3 = ‘C:\Users\Administrator\Desktop\image.png’; //文件保存路径及名称
    imagepng($im3, $path3);
    path3
    imagedestroy($im1); //销毁图像,释放资源
    imagedestroy($im2); //销毁图像,释放资源
    imagedestroy($im3); //销毁图像,释放资源

备注:本文仅合成两张图片,请大家举一反三。


- 欢迎各大神点评 -




猜你喜欢

转载自blog.csdn.net/hqt_29/article/details/80674956