摘要:分析將鏈接生成二維碼不難,直接即可解決。打開圖片將生成的二維碼圖片按照路徑打開,獲取相關(guān)信息。銷毀圖片銷毀生成的圖片資源和生成的圖片文件。
需求
客戶商品管理系統(tǒng),每個(gè)商品需要生成一個(gè)二維碼以便手機(jī)直接掃描查看商品信息,而對(duì)應(yīng)的,二維碼下方必須有一串唯一碼,它們存在于一張圖片上,以方便用戶另存打印貼紙(不相干細(xì)節(jié)省略)。
分析將鏈接生成二維碼不難,直接qrcode即可解決。
剩下的對(duì)應(yīng)唯一碼,例如:WY998823, 按特定算法生成碼后,需要與二維碼圖片重新合成為一張圖片,PHP中的圖片處理,不用說,首當(dāng)其沖GD庫。
過程由于代碼涉及較多,就不直接貼出來了。此處簡述用到的方法及流程,供大家參考。
打開圖片
將 Qrcode 生成的二維碼圖片按照 路徑 打開,獲取相關(guān)信息。 寬度類型等信息可以用 getimagesize() 獲取 打開圖片:$image = imagecreatefrompng($file); 如果事先不知道原圖片格式的話,可以采用下面方法: $info = getimagesize($file); // 獲取圖片信息 $type = image_type_to_extension($info[2],false); // 獲取圖片擴(kuò)展名 $fun = "imagecreatefrom{$type}"; // 構(gòu)建處理圖片方法名-關(guān)鍵是這里 $image = $fun($file); // 調(diào)用方法處理
處理圖片
將字體文件準(zhǔn)備好,設(shè)置好字體的顏色,然后創(chuàng)建文字: $font = ROOT_PATH."public/static/fonts/msyh.ttf"; // 字體文件 $color = imagecolorallocate($image,0,0,0); // 文字顏色 imagettftext($image, 20, 0, 80, 292, $color, $font, $code); // 創(chuàng)建文字 這里我直接寫在了二維碼圖片的下邊框空白處
輸出圖片
到這里對(duì)于原圖片的處理基本就結(jié)束了。 使用 header() 和 imagepng() 方法輸出最終圖片: header("Content-Type:image/png"); imagepng($image); 如果圖片格式不確定,參照上面第一步中給出的例子處理,這里我沒有保存到本地。
銷毀圖片
銷毀生成的圖片資源和Qrcode生成的圖片文件。 header("Content-Type:image/png"); imagepng($image); imagedestroy($image);if (is_file($file)) unlink($file);效果
生成后效果如圖(信息考慮,二維碼圖像已打碼)
總結(jié)圖像能否處理和處理得好,就看如何使用GD庫了。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/30582.html
摘要:查詢用戶信息已經(jīng)合成的不再重復(fù)生成生成原始二維碼圖網(wǎng)絡(luò)路徑原始二維碼圖的絕對(duì)路徑準(zhǔn)備好的模板圖片已經(jīng)生成的原始二維碼圖二維碼圖片寬度二維碼圖片高度圖片合成保存到路徑字體類型顯示的文字我是設(shè)置字體顏色合成頭像 //查詢用戶信息 $client = $this->where(array(id => $client_id))->find(); $client_avatar =...
摘要:有時(shí)上傳圖片時(shí),需要給圖片添加水印,水印一般為文字或圖片水印,下面就來看看兩種添加方法。拷貝并合并圖像的一部分更多庫函數(shù)用法,請(qǐng)查手冊相關(guān)文章實(shí)現(xiàn)圖片上傳時(shí)添加文字和圖片水印 有時(shí)上傳圖片時(shí),需要給圖片添加水印,水印一般為文字或圖片logo水印,下面就來看看兩種添加方法。 一、文字水印 文字水印就是在圖片上加上文字,主要使用gd庫的imagefttext方法,并且需要字體文件。效果圖如...
摘要:指定字體和顏色創(chuàng)建一個(gè)底圖創(chuàng)建一個(gè)白色的底圖,我們可以在上面繪制文字創(chuàng)建一個(gè)底圖并且加上一些文字要生成的圖片的路徑可以在服務(wù)器端看到這里需要注意一下文字的繪制命令順序,否則會(huì)出現(xiàn)沒有生效的問題。 [原文鏈接]https://duanruilong.github.io...://duanruilong.github.io/blog/2018/09/18/%E5%9C%A8PHP%E9%8...
摘要:指定字體和顏色創(chuàng)建一個(gè)底圖創(chuàng)建一個(gè)白色的底圖,我們可以在上面繪制文字創(chuàng)建一個(gè)底圖并且加上一些文字要生成的圖片的路徑可以在服務(wù)器端看到這里需要注意一下文字的繪制命令順序,否則會(huì)出現(xiàn)沒有生效的問題。 [原文鏈接]https://duanruilong.github.io...://duanruilong.github.io/blog/2018/09/18/%E5%9C%A8PHP%E9%8...
摘要:所謂對(duì)稱加密,就是加密和解密使用同一秘鑰,這也是這種加密算法最顯著的缺點(diǎn)之一。非對(duì)稱加密算法由于對(duì)稱加密在通信加密領(lǐng)域的缺陷,年和提出了非對(duì)稱加密的概念。非對(duì)稱加密,其主要缺點(diǎn)之一就是慢,適合加密少量數(shù)據(jù)。 1. 加密的目的 加密不同于密碼,加密是一個(gè)動(dòng)作或者過程,其目的就是將一段明文信息(人類或機(jī)器可以直接讀懂的信息)變?yōu)橐欢慰瓷先]有任何意義的字符,必須通過事先約定的解密規(guī)則才能將...
閱讀 3494·2023-04-25 21:43
閱讀 3106·2019-08-29 17:04
閱讀 807·2019-08-29 16:32
閱讀 1546·2019-08-29 15:16
閱讀 2158·2019-08-29 14:09
閱讀 2747·2019-08-29 13:07
閱讀 1633·2019-08-26 13:32
閱讀 1326·2019-08-26 12:00