PHP 图片合成
2017-01-03 16:40
169 查看
需求一
将活动背景图片和动态二维码图片合成一张图片// 图片一 $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'));
备注
创建图片对象也可使用$image_1 = imagecreatefromstring(file_get_contents($path_1));
获取图片的宽、高及类型也可以使用
list($imgWidth, $imgHight, $imgType) = getimagesize($path_1);
增加文字水印
// 添加文字水印 $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);
查看图像处理和GD函数列表
相关文章推荐
- php 两张图片合成
- PHP & Java(2)
- PHP对象编程实现3D饼图
- 用PHP动态生成虚拟现实VRML网页
- 用php生成excel文件
- JavaScript+PHP 应用一:网页制作中双下拉菜单的动态实现
- JavaScript + PHP 应用二:网页设计中树形菜单的动态实现
- 用linux下的php3发E-MAIL
- 在C、JAVA、PHP中操作postgreSql数据库
- PHP实现文件上传的一种好方法
- PHP 获取客户端 IP 地址的方法实例代码
- 如何对PHP程序中的常见漏洞进行攻击(下)
- 用PHP编写email群发器
- Apache、SSL、MySQL和PHP平滑无缝地安装
- PHP & Java(4)
- PHP & Java(3)
- UNIX下的PHP环境配置,+apache
- PHP & Java(1)
- php录入页面中动态从数据库中提取数据的实现
- 用PHP增强UNIX/LINUX网站功能