我們在網(wǎng)站開發(fā)的過程中經(jīng)常會遇到需要給上傳的圖片打水印的情況,這里是Thinkphp5實現(xiàn)上傳圖片打文字水印的方法分享給大家:
一、先安裝擴展
使用Composer安裝ThinkPHP5的圖像處理類庫:
composer require topthink/think-image
裝完后后端代碼如下
public function upload_idcard_a(){ $user=$this->chk_login(); $user=Db::table('e_user')->where('uid',$user['uid'])->find(); if($user['pass']==1){ echo '{"status":0,"content":"已上傳并審核通過無法修改"}'; } $base64_string = $_POST['base64_string']; $savename = uniqid().'.jpeg';//localResizeIMG壓縮后的圖片都是jpeg格式 $savepath = 'idcard/'.$savename; $url='/'; $image = $this->base64_to_img( $base64_string, $savepath ); $oss='/idcard/'.$savename; $image = hinkImage::open('.'.$oss); $image->text('僅授權(quán)XX科技公司使用','./static/font/msyh.ttf',40,'#CCCCCC',hinkImage::WATER_SOUTHEAST,0,40)->save('.'.$oss); Db::table('e_user')->where('uid="'.$user['uid'].'"')->update(['idcard_a' => $oss]); if($oss){ echo '{"status":1,"content":"上傳成功","url":"'.$oss.'"}'; }else{ echo '{"status":0,"content":"上傳失敗"}'; } }
完成。
新聞熱點
疑難解答