PHP合成圖片主要用的的函數 :html
-
imagecreatefromstring //返回一個圖像標識符,其表達了從給定字符串得來的圖像。圖像格式將自動檢測,只要 PHP 支持:JPEG,PNG,GIF,WBMP 和 GD2。canvas
-
imageCreatetruecolor //返回一個圖像標識符,表明了一幅大小爲 x_size 和 y_size 的黑色圖像。函數
-
imagecolorallocate // 爲一幅圖像分配顏色spa
-
imagecopyresampled //實現圖片縮放code
-
imagecopymerge //合併圖片htm
-
imagepng //生成png圖片blog
$logo = './qrcode/a.png'; //準備好的logo圖片 $QR = './a.png'; //已經生成的原始二維碼圖 if (file_exists($logo)) { $QR = imagecreatefromstring(file_get_contents($QR));//目標圖象鏈接資源。 $logo = imagecreatefromstring(file_get_contents($logo));//源圖象鏈接資源。 //建立一個和二維碼圖片同樣大小的真彩色畫布 //(ps:只有這樣才能保證後面copy裝備圖片的時候不會失真) $canvas = imageCreatetruecolor(imagesx($QR),imagesy($QR)); //爲真彩色畫布建立白色背景,再設置爲透明 $color = imagecolorallocate($canvas, 255, 255, 255); imagefill($canvas, 0, 0, $color); //imageColorTransparent($canvas, $color); //能夠設爲透明背景 //首先將二維碼畫布採樣copy到真彩色畫布中,不會失真 imagecopyresampled($canvas,$QR,0,0,0,0,imagesx($QR),imagesy($QR), imagesx($QR),imagesy($QR)); //再將裝備圖片copy到已經具備人物圖像的真彩色畫布中,一樣也不會失真 imagecopymerge($canvas,$logo,(imagesx($QR)-imagesx($logo))/2, (imagesy($QR)-imagesy($logo))/2,0,0,imagesx($logo),imagesy($logo), 100); //將畫布保存到指定的png文件 imagepng($canvas, './qrcode/'.'qrcode.png'); imagedestroy($QR); imagedestroy($logo); return '<img src="'.'/qrcode/qrcode.png'.'" alt="">'; }