溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

TP5.1如何生成海報(bào)

發(fā)布時(shí)間:2021-11-16 10:57:55 來源:億速云 閱讀:244 作者:小新 欄目:大數(shù)據(jù)

小編給大家分享一下TP5.1如何生成海報(bào),相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

//遠(yuǎn)程下載圖片
function downImg($imgUrl, $savePath = '',$filename = '')
{
    if(!isDirFile($savePath)){
        mkdir($savePath,0777,true);
    }
    if($savePath == ''){
        return false;
    }
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $imgUrl);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//這個(gè)是重點(diǎn)。
    $file = curl_exec($ch);
    curl_close($ch);
    $ext = pathinfo($imgUrl,PATHINFO_EXTENSION);
    if(!$ext)
    $ext = 'png';
    $resource = fopen($savePath . $filename . '.' .$ext, 'w');
    $res = fwrite($resource, $file);
    fclose($resource);
    if($res){
        return $filename . '.' .$ext;
    }else{
        return false;
    }
}

//生成縮略圖
function imgToThumb($imgUrl){
    $image = \think\Image::open($imgUrl);
    $image->thumb(104, 104)->radius(50)->save($imgUrl);
}
//判斷文件或者目錄是否存在
function isDirFile($path,$isfile = false){
    if($isfile){
        return file_exists($path) ? true : false;
    }else{
        return is_dir($path) ? true : false;
    }
}
//水印
function water($codefile,$text,$newFile,$waterBg="./uploads/haibao.jpg"){
    //判斷圖片尺寸-生成縮略圖
    list($width, $height, $type, $attr) = getimagesize($codefile);
    if($width > 104 || $height > 104){
        imgToThumb($codefile);
    }
    if(!isDirFile(\Env::get('root_path').'public/'.$waterBg,true)){
        return false;
    }
    $image = \think\Image::open($waterBg);

    /*
    if($strlen>8){
        $text = mb_substr($text,0,8,'UTF-8').'...';
        $offset = [380,985];
    }
    */
    $textName = isset($text[0]) ? $text[0] : '';
    $textData = isset($text[1]) ? $text[1] : '';
    $textDays = isset($text[2]) ? $text[2] : '';
    $textNums = isset($text[3]) ? $text[3] : '';

    $image->text($textName,\Env::get('root_path').'public/static/font/msyh.ttf',24,'#323232',[150,822])
    ->text($textData,\Env::get('root_path').'public/static/font/msyh.ttf',14,'#c5a98f',[150,864])
    ->text($textDays,\Env::get('root_path').'public/static/font/msyh.ttf',46,'#9e7758',[360,810])
    ->text($textNums,\Env::get('root_path').'public/static/font/msyh.ttf',46,'#9e7758',[540,810])
    ->water($codefile,[36,804])->save($newFile); 
    return $newFile;
}

以上是“TP5.1如何生成海報(bào)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI