gd庫(kù)為圖片加文字水印和圖片輸出
$number = $result["certno"];//設(shè)置水印內(nèi)容 $file = "./Uploads/certs/" . $number . ".jpg"; if(!is_file($file)){ $src = "./template/public/img/zhengshu.jpg";//定義圖片地址 $info = getimagesize($src);//獲取圖片信息 $type = image_type_to_extension($info[2], false);//通過(guò)編號(hào)獲取圖片類型 $fun = "imagecreatefrom".$type;//在內(nèi)存中創(chuàng)建一樣的圖像 $image = $fun($src);//圖片復(fù)制到內(nèi)存 $font = "./msyh.ttf";//設(shè)置字體路徑 $fontbd = "./msyhbd.ttf";//設(shè)置字體路徑 $content = $result["authname"];//設(shè)置水印內(nèi)容 $website = $result["auth_domains"];//設(shè)置水印內(nèi)容 //求出水印內(nèi)容在使用字體下在圖片的四個(gè)邊框的xy坐標(biāo) $version_fontarea1 = ImageTTFBBox(25,0,$fontbd,$version); $content_fontarea1 = ImageTTFBBox(25,0,$font,$content); $website_fontarea1 = ImageTTFBBox(12,0,$font,$website); $width = $info[0];//獲取圖片寬度 //求出內(nèi)容應(yīng)該設(shè)置在圖片中的位置(y左邊我是自己一點(diǎn)點(diǎn)試的...x坐標(biāo)是讓水印內(nèi)容兩側(cè)距離相等) $version_x = ($width - ($version_fontarea1[2] - $version_fontarea1[0])) / 2; $content_x = ($width - ($content_fontarea1[2] - $content_fontarea1[0])) / 2; $website_x = ($width - ($website_fontarea1[2] - $website_fontarea1[0])) / 2; $color = imagecolorallocatealpha($image, 75, 75, 75, 0);//設(shè)置顏色 imagettftext($image, 11, 0, 105, 80, $color, $font, $number); imagettftext($image, 25, 0, $version_x, 350, $color, $fontbd, $version); imagettftext($image, 25, 0, $content_x, 520, $color, $font, $content); imagettftext($image, 12, 0, $website_x, 560, $color, $font, $website); //輸出圖片 $fun = "image".$type; $fun($image, $file , 80); imagedestroy($image); } $data = file_get_contents($file);
代碼中依然存在很大問(wèn)題,因?yàn)檫@樣的做法,意味著有多少個(gè)result,就會(huì)在文件夾中生成多少?gòu)垐D片。沒(méi)有找到gd庫(kù)直接從內(nèi)存中獲取圖片內(nèi)容的方法,迫不得已用這個(gè)方法
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/25583.html
摘要:庫(kù)庫(kù)的功能比較強(qiáng)大,主要用來(lái)做圖片驗(yàn)證碼生成,繪制圖片,處理圖片等等。下面是簡(jiǎn)單的庫(kù)繪制圖片驗(yàn)證碼代碼示例白色結(jié)果即,就繪制成圖片。可以驗(yàn)證了圖片生成并保存在本地白色備注在例子中還需要字體插件可以在網(wǎng)上下載,并放到本地文件夾調(diào)用 1.gd庫(kù) php gd庫(kù)的功能比較強(qiáng)大,主要用來(lái)做圖片驗(yàn)證碼生成,繪制圖片,處理圖片等等。下面是簡(jiǎn)單的gd庫(kù)繪制圖片驗(yàn)證碼 代碼示例 $size_x = 1...
摘要:我嘗試用重新編譯庫(kù)擴(kuò)展生成,但在中加入后重啟,會(huì)報(bào)錯(cuò)。請(qǐng)安裝庫(kù)和在我索求答案無(wú)果后,我選擇了重新編譯,尷尬某站答案 編譯PHP不帶gd,后續(xù)添加gd模塊 在生成圖像驗(yàn)證碼的時(shí)候我們會(huì)用到GD庫(kù)進(jìn)行images,我們先安裝它.但是有時(shí)候,發(fā)現(xiàn)自己已經(jīng)安裝了GD庫(kù),但是驗(yàn)證碼還是生成不了這個(gè)時(shí)候就得檢查一下imagettftext這個(gè)函數(shù)了 http://php.net/manual/zh...
摘要:本文經(jīng)授權(quán)轉(zhuǎn)自社區(qū)說(shuō)明是為定制的圖片處理工具它提供了一套易于表達(dá)的方式來(lái)創(chuàng)建編輯圖片。 本文經(jīng)授權(quán)轉(zhuǎn)自 PHPHub 社區(qū) 說(shuō)明 Intervention/image 是為 Laravel 定制的圖片處理工具, 它提供了一套易于表達(dá)的方式來(lái)創(chuàng)建、編輯圖片。 本文章由 The EST Group 成員 @monkey 撰寫, 首發(fā)地為 PHPHub 社區(qū). Demo 代碼請(qǐng)見(jiàn):https...
摘要:庫(kù)畫圖的典型流程創(chuàng)建畫布創(chuàng)建各種顏料繪畫如,寫字,畫線,畫矩形等形狀保存成圖片清理畫布畫線保存圖片保存成功保存失敗輸出圖片字母數(shù)字驗(yàn)證碼畫布中文驗(yàn)證碼中文驗(yàn)證碼實(shí)際項(xiàng)目中抽取幾百個(gè),幾千個(gè)常用漢字,放數(shù)組里,隨機(jī)選取的一是在了不和有 GD庫(kù)畫圖的典型流程 創(chuàng)建畫布 創(chuàng)建各種顏料 繪畫(如,寫字,畫線,畫矩形等形狀) 保存成圖片 清理畫布 字母數(shù)字驗(yàn)證碼 中文驗(yàn)證碼 扭曲驗(yàn)證...
摘要:前言最近開(kāi)發(fā)遇到后端生成圖片時(shí)英文的換行貼代碼字符串相關(guān)處理英文字符串換行如果是字母,并且到了換行的地方,則需要看這個(gè)字符的下一個(gè)字符是否是字母,如果是的話就需要回到上一個(gè)不是字母的地方注意中文和英文上一次出現(xiàn)不是字母的索引位置將單個(gè)字符存 前言 最近開(kāi)發(fā)遇到后端生成圖片時(shí)英文的換行 貼代碼 /* * 字符串相關(guān)處理 */ class StringUtils { /** ...
閱讀 2037·2023-04-25 23:30
閱讀 1455·2021-11-24 10:18
閱讀 3085·2021-10-09 09:54
閱讀 2022·2021-10-08 10:05
閱讀 3443·2021-09-23 11:21
閱讀 3167·2019-08-30 15:52
閱讀 1566·2019-08-30 13:05
閱讀 1064·2019-08-30 13:02