$item_pic = 'img/item.jpg';
$qcode_pic = 'img/qcode.png';
$user_pic = 'img/user.jpeg'; $item_title = "镇泰吹风机家用孕婴负离子护";
$item_title2 = "发蓝光大风力 家用";
$font_file = 'fonts/Microsoft_Yahei.ttf'; $item_price = '¥100.50'; $share_title = "来自邹喆的分享"; //创建画布
$percent = 0.5;
$width = 400;
$height = 700;
$image = imagecreatetruecolor($width, $height); //创建背景颜色
$image_bg = imagecolorallocate($image, 255, 255, 255);
//创建字体颜色
$image_text_bg = imagecolorallocate($image, 0, 0, 0); //创建价格颜色
$price_bg = imagecolorallocate($image, 255, 0, 0); //创建灰色颜色
$qcode_bg = imagecolorallocate($image, 128, 138, 135); //填充背景颜色
imagefill($image, 0, 0, $image_bg); //把商品图片合成到画布商品
//先把商品图片换成图片流
list($item_pic_width, $item_pic_height) = getimagesize($item_pic); $item_pic = imagecreatefromjpeg($item_pic); $new_item_width = $item_pic_width * $percent;
$new_item_height = $item_pic_height * $percent; //加入商品
imagecopyresized($image, $item_pic, 0, 120, 0, 0, $new_item_width, $new_item_height, $item_pic_width, $item_pic_height); //加入商品标题
imagettftext($image, 12, 0, 10, 590, $image_text_bg, $font_file, $item_title);
imagettftext($image, 12, 0, 11, 590, $image_text_bg, $font_file, $item_title); imagettftext($image, 12, 0, 25, 610, $image_text_bg, $font_file, $item_title2);
imagettftext($image, 12, 0, 26, 610, $image_text_bg, $font_file, $item_title2); //加入商品价格
imagettftext($image, 20, 0, 30, 650, $price_bg, $font_file, $item_price);
//加入推荐者头像 list($user_pic_width, $user_pic_height) = getimagesize($user_pic);
$user_pic = imagecreatefromjpeg($user_pic);
$new_user_pic_width = $user_pic_width * $percent;
$new_user_pic_height = $user_pic_height * $percent; imagecopyresampled($image, $user_pic, 80, 50, 0, 0, $new_user_pic_width, $new_user_pic_height, $user_pic_width, $user_pic_height);
//加入推荐者
imagettftext($image, 12, 0, 150, 100, $image_text_bg, $font_file, $share_title); //加入二维码
list($qcode_pic_width, $qcode_pic_height) = getimagesize($qcode_pic); $new_qcode_width = $qcode_pic_width;
$new_qcode_height = $qcode_pic_height; $qcode_pic = imagecreatefrompng($qcode_pic); imagecopyresized($image, $qcode_pic, 260, 550, 0, 0, $new_qcode_width, $new_qcode_height, $qcode_pic_width, $qcode_pic_height); //加入二维码文字
imagettftext($image, 10, 0, 277, 679, $qcode_bg, $font_file, '长按识别二维码');
header("Content-type:image/jpeg"); imagejpeg($image);
imagejpeg($image, 'img/0.jpg');

  效果图:

PHP GD库---之商详合成分享图片的更多相关文章

  1. GD库imagecopyresampled()方法详解~

    整理了一下GD库这个缩放,拉伸复制的方法 因为这个函数参数太多了~ imagecopyresampled()   /* //拷贝部分图像并调整大小 bool imagecopyresampled ( ...

  2. PHP 使用GD库合成带二维码的海报步骤以及源码实现

    PHP 使用GD库合成带二维码的海报步骤以及源码实现 在做微信项目开发过程中,经常会遇到图片合成的问题,比如将用户的二维码合成到宣传海报中,那么,遇到这种情况,利用PHP的GD库也是很容易实现的,实现 ...

  3. 【PHP】使用GD库实现 图像生成、缩放、logo水印和简单验证码

    gd库是php最常用的图片处理库之一(另外一个是imagemagick),可以生成图片.验证码.水印.缩略图等等.要使用gd库首先需要开启gd库扩展, windows系统下需要在php.ini中将ex ...

  4. PHP 使用GD库合成带二维码和圆形头像的海报步骤以及源码实现

    PHP 使用GD库合成带二维码和圆形头像的海报步骤以及源码实现 之前记录过一篇文章,不过那只是简单将二维码合成到海报中去,这次还要合成头像,而且是圆形.所需要素材就不一一列举,直接代码吧 1.先获取用 ...

  5. PHP中GD库的使用

    1.基本步骤 <?php /** * Created by PhpStorm. * User: jiqing * Date: 18-4-9 * Time: 上午9:34 * 熟悉步骤 */ // ...

  6. PHP->利用GD库新建图像

    1.确认php中GD库是否开启 在PHP配置文件php.ini中查找extension=php_gd2.dll,去掉前边的(分号) ';' 即可,一般php是默认开启的 2.绘画步骤 创建一个画布(画 ...

  7. GD库使用小结---1

    因为一开始,“大家”都说一般任务中,用php操作图片不常见,像我们这种基本业务型的,就更用不到了,所以先别看,偶就没有看.现在有机会了自然要来玩一把. 以前学过C#的GDI+,交了课程设计后忘得一干二 ...

  8. PHP5 GD库生成图形验证码(汉字)

    PHP5 GD库生成图形验证码且带有汉字的实例分享. 1,利用GD库函数生成图片,并在图片上写指定字符imagecreatetruecolor 新建一个真彩色图像imagecolorallocate ...

  9. GD库 图片缩略图 图片水印

    /** * GD库 图片缩略图 *//*$image = imagecreatefromjpeg("1.jpg");var_dump($image);exit;$width = i ...

随机推荐

  1. 专题《一》mysql优化 ---------主从复制,读写

    主从复制是mysql自带的功能,读写分离用第三方插件 主从复制作用:读写分离(mycat),数据备份,高可用,集群 原理:二进制sql执行文件-----insert,update,delete,cre ...

  2. MySQL 实现字符串换行

    target_describe字段值中包含 :[ 这两个特殊的字符 ,想要在字符之间加换行 需要插入CHAR(10) ),'[')) UPDATE ew_pm_project_red_detail S ...

  3. 图解css3のborder-radius

    早期制作圆角都是使用图片来实现.通过用1px 的水平线条来堆叠出圆角或者利用JavaScript等等方法,但是都是需要增加多个无意义的标签来实现,造成代码亢余.如今有了CSS3的圆角属性——borde ...

  4. zuul prefix

    经过测试,书上应该是写错了,如果要全部的路由加前缀,需要将zuul.stripPrefix=true进行设置 而不是书上所说的false

  5. 洛谷 P1145 约瑟夫

    题目描述 n个人站成一圈,从某个人开始数数,每次数到m的人就被杀掉,然后下一个人重新开始数,直到最后只剩一个人.现在有一圈人,k个好人站在一起,k个坏人站在一起.从第一个好人开始数数.你要确定一个最小 ...

  6. 使用脚本在Linux服务器上自动安装Kubernetes的包管理器Helm

    Helm之于Kubernetes好比yum之于Red Hat Enterprise Linux,或者apt-get之于Ubuntu. Helm是由helm CLI和Tiller组成,是典型的Clien ...

  7. [dp][uestc oj]J - 男神的约会

    J - 男神的约会 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit ...

  8. python之道08

    1.有如下文件,a1.txt,里面的内容为: 某某是最好的学校, 全心全意为学生服务, 只为学生未来,不为牟利. 我说的都是真的.哈哈 分别完成以下的功能: a,将原文件全部读出来并打印. 答案 f ...

  9. PayPal为什么从Java迁移到Node.js 性能提高一倍 文件代码减少44%

    大家都知道PayPal是另一家迁移到Node.js平台的大型公司,Jeff Harrell的这篇博文 Node.js at PayPal  解释了为什么从Java迁移出来的原因: 开发效率提高一倍(2 ...

  10. 01_6_SERVLET如何从上一个页面取得参数

    01_6_SERVLET如何从上一个页面取得参数 1. sevlet实现 public void doGet(HttpServletRequest request, HttpServletRespon ...