IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> php生成小程序分享宣传海报图片 -> 正文阅读

[PHP知识库]php生成小程序分享宣传海报图片

php生成宣传海报图片

#例子
public function test(){
        $imageUrl = 'https://car.xintutc.com/storage/avatar/20210911/e4d6ba186906453c3388f0ccf1ba7672.png';
        $codeUrl = 'https://car.xintutc.com/upload/qrcode/16311776586962317.png';
        $avatarUrl = 'https://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTIC73HpXIIMjDnLbGU1tOkuuxlZzyOqgcvI8icfsoaibzY5nAq0mYT4h5lEDNicSBJjpicXwD3MicibBicEQ/132';
        $ttf = '/static/yahei.ttc';
        $rs = generateImg('西安北客站','太白南路','跨城拼车',3,120,'宋师傅',$avatarUrl,'131****5555',$codeUrl,$imageUrl,'544',$ttf);
        $this->success('请求成功',$rs);
    }

/**
 * 生成图片
 * @Author   LinPengFei
 * @DateTime 2018-04-18T18:03:21+0800
 * @param    string        $start    [起点]
 * @param    string        $end  [终点]
 * @param    string        $car_lave  [余座]
 * @param    string        $price  [金额]
 * @param    string        $name  [姓名]
 * @param    string        $avatar  [头像]
 * @param    string        $mobile  [手机号]
 * @param    string        $codeUrl  [二维码地址] https://car.xintutc.com//upload/qrcode/16311776586962317.png
 * @param    string        $imageUrl [背景图片地址]
 * @param    integer       $width    [图片宽度]
 * @param    string        $ttf      [字体文件]
 * @return   [type]                  [description]
 */
function generateImg($start,$end,$type,$car_lave,$price,$name,$avatarUrl,$mobile,$codeUrl='',$imageUrl='',$width = 1080,$ttf = 'simhei.ttf'){
    $height = $width*1.81;//高
    $padd = $width/24.73;//边距
    $code_width = $width/4; //二维码宽度
    $avatar_width = $width/8; //头像宽度

    $image_width = $width-2*$padd;//底部图片宽度
    $canvas = imageCreatetruecolor($width, $height);//新建画布
    $color = imagecolorallocate($canvas, 255, 255, 255);//背景白色
    imagefill($canvas, 0, 0, $color);
    $white= imagecolorallocate($canvas,255,255,255);//时间灰色画笔
    $gray= imagecolorallocate($canvas,105,105,105);//起点灰色画笔
    $black= imagecolorallocate($canvas,35,35,35);//黑色画笔
    $blue= imagecolorallocate($canvas,58,170,216);//黑色画笔

//    var_dump($code_width);die;

    //二维码
    $arr = explode('.', $codeUrl);
    $suffix = end($arr);
    if ($suffix == 'jpg' || $suffix == 'jpeg') $code = imagecreatefromjpeg($codeUrl);
    if ($suffix == 'png') $code = imagecreatefrompng($codeUrl);
    if ($suffix == 'gif') $code = imagecreatefromgif($codeUrl);
    if ($suffix == 'bmp') $code = imagecreatefrombmp($codeUrl);
    $code_oldW = imagesx($code);
    $code_oldH = imagesy($code);
    $percent1 = $code_oldH/$code_oldW;//长宽比例

    //头像
//    $avatar = imagecreatefromjpeg($avatarUrl);
//    $avatar_oldW = imagesx($avatar);
//    $avatar_oldH = imagesy($avatar);
//    $percent3 = $avatar_oldW/$avatar_oldH;//长宽比例

    //底部图片
    $arr1 = explode('.', $imageUrl);
    $suffix = end($arr1);
    if ($suffix == 'jpg' || $suffix == 'jpeg') $image = imagecreatefromjpeg($imageUrl);
    if ($suffix == 'png') $image = imagecreatefrompng($imageUrl);
    if ($suffix == 'gif') $image = imagecreatefromgif($imageUrl);
    if ($suffix == 'bmp') $image = imagecreatefrombmp($imageUrl);

    $image_oldW = imagesx($image);
    $image_oldH = imagesy($image);
    //长宽比例
    $percent2 = $image_oldH/$image_oldW;
    imagecopyresampled( $canvas , $image , $padd , $padd , 0 , 0 , $image_width , $image_width*$percent2 , $image_oldW , $image_oldH);
    imagecopyresampled( $canvas , $code , 364 , 790 , 0 , 0 , $code_width , $code_width * $percent1 , $code_oldW , $code_oldH);
//    imagecopyresampled( $canvas , $avatar , 40 , 790 , 0 , 0 , $avatar_width , $avatar_width * $percent3 , $avatar_oldW , $avatar_oldH);
    //时间
    imagettftext ( $canvas , 10, 0 , 101 , 640, $white , $ttf , date('m月d日'));
    imagettftext ( $canvas , 10, 0 , 140 , 673, $gray , $ttf , $start); //起点
    imagettftext ( $canvas , 10, 0 , 140 , 700, $gray , $ttf , $end);   //终点
    imagettftext ( $canvas , 12, 0 , 175 , 640, $black , $ttf , $type);   //类型
    imagettftext ( $canvas , 10, 0 , 140 , 727, $gray , $ttf , $car_lave);   //余座
    imagettftext ( $canvas , 30, 0 , 370 , 729, $blue , $ttf , $price);   //金额
    imagettftext ( $canvas , 14, 0 , 126 , 820, $black , $ttf , $name);   //姓名
    imagettftext ( $canvas , 10, 0 , 145 , 845, $black , $ttf , $mobile);   //手机号

    //输出到浏览器
//    header("Content-type:image/jpeg");
//    imagejpeg($canvas);
//    imagedestroy($canvas);
//    die;
    //保存图片,销毁图形,释放内存
    $name = mt_rand(0,999).uniqid();
    $filename = mb_substr($name,0,5).'.jpg';
    if (!file_exists($filename)) {
        imagejpeg($canvas, './storage/share/'.$filename);
        imagedestroy($canvas);
    } else {
        imagedestroy($canvas);
    }
    return 'https://car.xintutc.com/storage/share/'.$filename;

}



  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-09-12 12:57:52  更:2021-09-12 12:58:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 6:55:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码