/** * GD 畫圖示例 */ public function index(){ //1. 繪製圖像資源(創建一個畫布) $image = imagecreatetruecolor(436, 698); //2. 設置圖像的顏色 - 白色 做爲背景色 $background_color = imagecolorallocate($image, 255, 255, 255); //3. 使用白色填充畫布 imagefill($image, 0, 0, $background_color); //4. 設置圖像的顏色 - 黑色 做爲字體顏色 $hei = imagecolorallocate($image, 0, 0, 0); //5.選擇一個字體文件 $FontFile = 'QrCode/cn.ttf'; //定義填充畫布的內容 $shop_name = '馬化騰的小店'; $shop_logo = 'Upload/images/new/logo.png'; $shop_qr = 'Upload/images/new/qr.png'; $goods_img_1 = 'Upload/images/0DD443BB6FD97E3FCBEF9E01E223A56F.png'; $goods_img_2 = 'Upload/images/0EC90B8A3E9F20D2E4C98035201F5934.png'; $goods_img_3 = 'Upload/images/2DE0002953F5831FE9BFA2E56E49EB3E.png'; $goods_img_4 = 'Upload/images/2E7F0C8CA2C9C1E451E4BFCC5BBA0964.png'; //1.寫入LOGO $logos = imagecreatefrompng($shop_logo);//載入LOGO list($w, $h) = getimagesize($shop_logo);//獲取LOGO圖片的寬、高 /** * 拷貝圖像 * @dst_image 目標圖像 * @src_image 被拷貝的源圖像 * @dst_x 目標圖像開始 x 座標 * @dst_y 目標圖像開始 y 座標,x,y同爲 0 則從左上角開始 * @src_x 拷貝圖像開始 x 座標 * @src_y 拷貝圖像開始 y 座標,x,y同爲 0 則從左上角開始拷貝 * @dst_w 設定載入的原圖的寬度(在此設置縮放) * @dst_h 設定載入的原圖的高度(在此設置縮放) * @src_w (從 src_x 開始)拷貝的寬度 * @src_h (從 src_y 開始)拷貝的高度 */ imagecopyresized($image, $logos, 36, 28, 0, 0, 74, 74, $w, $h); //2.寫入LOGO旁邊的小店名稱 /** * 繪製文字 * @image 目標圖像 * @size 字體大小 * @angle 字體傾斜的角度 * @x 文字的x座標 * @y 文字的y座標 * @color 文字的顏色 * @fontfile 字體文件 * @text 繪製的文字 */ imagettftext($image, 20, 0, 134, 65, $hei, $FontFile, $shop_name); //3.寫入第一張商品圖 $goods_img_1s = imagecreatefrompng($goods_img_1); list($w1, $h1) = getimagesize($goods_img_1); imagecopyresized($image, $goods_img_1s, 20, 122, 0, 0, 186, 186, $w1, $h1); //4.寫入第二張商品圖 $goods_img_2s = imagecreatefrompng($goods_img_2); list($w2, $h2) = getimagesize($goods_img_2); imagecopyresized($image, $goods_img_2s, 230, 122, 0, 0, 186, 186, $w2, $h2); //5.寫入第三張商品圖 $goods_img_3s = imagecreatefrompng($goods_img_3); list($w3, $h3) = getimagesize($goods_img_3); imagecopyresized($image, $goods_img_3s, 20, 332, 0, 0, 186, 186, $w3, $h3); //6.寫入第四張商品圖 $goods_img_4s = imagecreatefrompng($goods_img_4); list($w4, $h4) = getimagesize($goods_img_4); imagecopyresized($image, $goods_img_4s, 230, 332, 0, 0, 186, 186, $w4, $h4); //7.寫入底部小店名稱 imagettftext($image, 16, 0, 20, 550, $hei, $FontFile, $shop_name); //8.寫入二維碼 $codeIm = imagecreatefrompng($shop_qr); list($w, $h) = getimagesize($shop_qr); imagecopyresized($image, $codeIm, 300, 532, 0, 0, 100, 100, $w, $h); //9.寫入二維碼下面的文字 imagettftext($image, 14, 0, 296, 638, $hei, $FontFile, '掃一掃或長按'); imagettftext($image, 14, 0, 300, 660, $hei, $FontFile, '識別二維碼'); //在瀏覽器直接輸出圖像資源 header("Content-Type:image/jpeg"); imagejpeg($image);//輸出圖片 imagejpeg($image,'QrCode/shop_share.png');//保存圖片 //銷燬圖像資源 imagedestroy($image); }