您好,登錄后才能下訂單哦!
本篇文章為大家展示了用戶信息名片怎么利用PHP實現自動生成,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
步驟
在一切開始之前,請使用phpinfo() command
來確認GD庫已安裝。
首先,我們要做的事情很簡單,新建一個PHP文件,就叫它main.php吧。
在main.php中,理論上我們需要以下幾行代碼(本代碼基于CakePHP 3):
<?php //創建一個表單提供用戶輸入功能 echo $this->Form->create(); //只保留value屬性,其他屬性已省略 echo $this->Form->input( 'First Name',['value' => $firstname, '...' => '...', ...]); echo $this->Form->input( 'Last Name',['value' => $lastname, '...' => '...', ...]); echo $this->Form->input( 'City',['value' => $city, '...' => '...', ...]); echo $this->Form->input( 'State',['value' => $state, '...' => '...', ...]); /* * 將img標簽指向一個叫做image.php的PHP文件。 * 所有的用戶輸入信息將以URL的形式保存在img標簽的src屬性中, * 在表格提交后即可被image.php通過GET獲取。 * 所有變量已通過PHP自帶strtoupper函數轉換為大寫。 */ echo $this->Html->image("image.php?first=".strtoupper($firstname)."&last=".strtoupper($lastname). "&location=".strtoupper($city)." ".strtoupper($state), ['fullBase' => true]); /* * 上面的代碼相當于: * <img src="image.php?first=名&last=姓&location=城市" /> */ //表單提交 echo $this->Form->button('CONTINUE', ['type' => 'submit']); //關閉表單 $this->Form->end();
接下來,就是創建Where amazing happens的image.php了。包括圖片設置,獲取用戶信息,將文字信息添加到圖片上,所有的一切都將在這一步完成。
讓我們通過代碼來一探究竟吧。
<?php // header() 函數向客戶端發送原始的 HTTP 報頭。 header('Content-type: image/jpeg'); // 由文件或 URL 創建一個新圖象,這里的text.jpg就是效果1顯示的預設圖片 $rImg = ImageCreateFromJPEG("test.jpg"); // 為一幅圖像分配顏色 $cor = imagecolorallocate($rImg, 0, 0, 0); // 我們可以自定義與圖片結合的文字字體 $font = "./arial.ttf"; // 設置最終生成圖片的寬度以及文字相對于圖片所在的高度 $imgWidthSetting = 676; $textHeightOffset = 220; // 解碼main.php里img標簽已編碼的URL字符串,包括first, last以及location $first = urldecode($_GET['first']); $last = urldecode($_GET['last']); $location = urldecode($_GET['location']); /* * 取得需要向圖片上添加的文本的范圍。imagettfbbox() 返回一個含有8個 * 單元的數組表示了文本外框的四個角。 */ $width_first = imagettfbbox(60, 0, $font, $first); $width_last = imagettfbbox(70, 0, $font, $last); $width_location = imagettfbbox(35, 0, $font, $location); // 進一法取整, $width_變量[2]代表右下角X坐標位置 $x_first = ceil($imgWidthSetting - $width_first[2]); $x_last = ceil($imgWidthSetting - $width_last[2]); $x_location = ceil($imgWidthSetting - $width_location[2]); // 利用imagettftext()函數將文本“寫入”圖像 imagettftext($rImg, 60, 0, $x_first, $textHeightOffset+120, $cor, $font, $first); imagettftext($rImg, 70, 0, $x_last, $textHeightOffset+210, $cor, $font, $last); imagettftext($rImg, 35, 0, $x_location, $textHeightOffset+290, $cor, $font, $location); // 輸出圖象到瀏覽器或文件,quality 為可選項,范圍從 0(最差質量,文件更小)到 100(最佳質量,文件最大) imagejpeg($rImg,NULL,100); // Free up memory, imagedestroy() 釋放與 image 關聯的內存。 imagedestroy($rImg);
到這里,我們就完成了通過PHP把文字添加到圖片上的所有步驟。當用戶輸入個人信息并提交表單后,通過image.php,效果3的名片就會自動生成。
總結
利用PHP將文字與圖片結合雖然簡單,但可以衍生出很多不同的應用方法。譬如,我們可以將名片背景及生成的名片隱藏起來,只對用戶顯示信息輸入界面。同時,我們在代碼中接入打印機的API。這樣,當用戶輸入完自己的信息點擊繼續之后,顯示著用戶信息的名片就會直接打印出來。這很適用于用戶參加線下聚會活動check in時的場景。
上述內容就是用戶信息名片怎么利用PHP實現自動生成,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。