在鳳凰網看到一篇文章:微信群二維碼也能“整人”,99%的好友會中招!感覺挺好玩,所以自己也想做一個!

冷靜分析🤔應該是這樣,嗯…這樣的,這樣寫的……嗯?開工
假裝正經,其實也就很簡單,圖片加二維碼合成然后添加文字,OK?
首先,第一步制作一個二維碼接口,使用phpqrcode生成二維碼
然后圖片合成二維碼再添加文字水印。以下是源碼,僅供參考使用,代碼已注標釋。
<?php /* * 圖片加二維碼,並添加文字水印 */ header('Content-Type: image/png');//輸出協議頭 $text = isset($_GET['text']) ? $_GET['text'] : '免費看電影'; $lenth = strlen($text); if($lenth>=24){ $text = substr($text,0,24)."";//限制字數 } $qr = isset($_GET['qr']) ? $_GET['qr'] : 'svip7.cc'; //二維碼內容 $time=date("該二維碼7天內(m月d日前)有效,重新進入將更新",strtotime("+7 day")); $dst_path = 'bg.png';//背景圖 $src_path = 'http://qr.liantu.com/api.php?text='.$qr.'&w=400';//這是聯圖二維碼API //創建圖片的實例 $dst = imagecreatefromstring(file_get_contents($dst_path));//讀取背景圖片數據 $src = imagecreatefromstring(file_get_contents($src_path));//讀取二維碼數據 //獲取二維碼的寬高 list($src_w, $src_h) = getimagesize($src_path); //將水印圖片復制到目標圖片上,最后個參數100是設置透明度,這里用不透明效果 imagecopymerge($dst, $src, 100, 200, 0, 0, $src_w, $src_h, 100); //如果水印圖片本身帶透明色,則使用imagecopy方法 //imagecopy($dst, $src, 100, 200, 0, 0, $src_w, $src_h); //FZZHJW.TTF 是簡體字體 自己可以重網上下載其他字體 $col = imagecolorallocatealpha($dst,0,0,0,0); //文字水印顏色 $col1 = imagecolorallocatealpha($dst,102,102,102,1); //添加水印文字 //28 是字體大小 //180 是橫坐標 //100是縱坐標 imagettftext($dst,28,0,180,100,$col,"FZZHJW.TTF",$text); imagettftext($dst,14,0,90,750,$col1,"FZZHJW.TTF",$time); //輸出圖片 list($dst_w, $dst_h, $dst_type) = getimagesize($dst_path); imagepng($dst); //將數據進行銷毀 imagedestroy($dst); imagedestroy($src); ?>
自己也懶得弄二維碼了,直接用了聯圖的二維碼api。如果你自己要做,可以參考上面第一步那里的鏈接
字體文件自己可以重網上下載
演示效果如下圖

