PHP 图片合成

原创 2017年01月03日 16:40:23

需求一

将活动背景图片和动态二维码图片合成一张图片

// 图片一
$path_1 = 'https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png';
// 图片二
$path_2 = 'http://tb1.bdstatic.com/tb/static-client/img/webpage/wap_code.png';
// 创建图片对象
$image_1 = imagecreatefrompng($path_1);
$image_2 = imagecreatefrompng($path_2);
// 合成图片
imagecopymerge($image_1, $image_2, 0, 0, 0, 0, imagesx($image_2), imagesy($image_2), 100);
// 输出合成图片
var_dump(imagepng($image_1, Mage::getBaseDir('media').'/tmp/merge/merge.png'));

需求二

将活动背景图片设置透明,然后和动态二维码图片合成一张图片

// 图片一
$path_1 = 'https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png';  
// 图片二
$path_2 = 'http://tb1.bdstatic.com/tb/static-client/img/webpage/wap_code.png';  
// 创建图片对象
$image_1 = imagecreatefrompng($path_1);  
$image_2 = imagecreatefrompng($path_2);  
// 创建真彩画布
$image_3 = imageCreatetruecolor(imagesx($image_1),imagesy($image_1));
// 为真彩画布创建白色背景
$color = imagecolorallocate($image_3, 255, 255, 255);
imagefill($image_3, 0, 0, $color);
// 设置透明
imageColorTransparent($image_3, $color);
// 复制图片一到真彩画布中(重新取样-获取透明图片)
imagecopyresampled($image_3, $image_1, 0, 0, 0, 0, imagesx($image_1), imagesy($image_1), imagesx($image_1), imagesy($image_1));
// 与图片二合成
imagecopymerge($image_3, $image_2, 0, 0, 0, 0, imagesx($image_2), imagesy($image_2), 100);  
// 输出合成图片
var_dump(imagepng($image_3, Mage::getBaseDir('media').'/tmp/merge/merge.png')); 

备注

  1. 创建图片对象也可使用
    $image_1 = imagecreatefromstring(file_get_contents($path_1));
  2. 获取图片的宽、高及类型也可以使用
    list($imgWidth, $imgHight, $imgType) = getimagesize($path_1);
  3. 增加文字水印
    // 添加文字水印
    $black = imagecolorallocate($image_1, 0, 0, 0);
    $font = '/usr/share/fonts/dejavu/DejaVuSans.ttf';
    // 方法一
    imagettftext($image_1, 16, 0, imagesx($image_1)-160, imagesy($image_1)-20, $black, $font, 'MKTK-HELOO');
    // 方法二 
    imagestring($image_1, 3, imagesx($image_1)-160, imagesy($image_1)-20, "MKTK-HELOO", $black);


  4. 查看图像处理和GD函数列表
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

php实现微信中的图片合并

php 两张图片合成

原连接 http://blog.sina.com.cn/s/blog_5ea94a170100lgkg.html   $path_1 = "./images/people.gif";   $pat...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

PHP图片合成(gd库)

/**  *  @desc 图片合成代码逻辑示例  *      需要用到TP框架、文字处理函数,微信登录判断等,仅作自我记录参考  *  @usage          $M...

php实现微信中的图片合并 (圆角)

/** * 图片合并 **/ $pic_list = array( 'http://img104.job1001.com/uplo...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

php 绘图合并两张jpg图片 并在图片上写字

两张jpg图合并,并且中间小图进行压缩。
  • A9925
  • A9925
  • 2015年04月07日 18:02
  • 2354

php两张图片合并一张,加文字,并压缩

function hebingImg($path_2){ $path_1 = "../xx/xx.jpg"; $image_1 = imagecreatefromjpeg($path_1); $ima...

php多图片和文字合成最终图片

在 Laravel 5 中集成 Intervention Image 实现对图片的创建、修改和压缩处理

Intervention Image 是一个PHP图片操作处理库,为图片创建、修改及压缩等处理提供了便捷方式。此外,还提供了服务提供者和门面以便集成到Laravel应用中。 1、安装 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP 图片合成
举报原因:
原因补充:

(最多只允许输入30个字)