成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

基于PHP實現生成隨機水印圖片

瀏覽:129日期:2022-09-08 15:56:13

基于PHP的GD圖形庫,自己生成一張圖片。僅限初識GD庫,實例學習。

一、需求

網站的布局用到了類似慕課網課程列表的風格,每一個課程是一個banner圖,圖下面是標題加簡介。因為課程的數量較大沒有為所有的課程設計專門的banner,所以需要按照一定的規則,來自己生成圖片(本打算用div布局來解決,但div+img在響應式布局中不是很好控制)。

二、工具&素材

1.PHP開啟GD圖形庫擴展

2.準備多個小的水印圖

3.獲取預生成圖片的背景色RGB值

三、代碼

生成圖片的過程,代碼中做了詳細的注釋。

class GenerateRandomImage{ /** @var integer 圖片寬度 */ public $imgWidth = 272; /** @var integer 圖片高度 */ public $imgHeight = 162; /** @var 根據type不同來生成不同的背景顏色,目前留個type分別為藍色、紫色、黃色、綠色、灰色、土黃色 */ public $type = ’’; /** @var 圖片上要顯示的文字 */ public $text = ’’; /** @var integer 圖片上文字的字體大小 */ public $fontSize = 16; public function __construct($type, $text) { $this->type = $type; $this->text = $text; } /** * 創建生成隨機圖片 * @author bignerd * @since 2017-03-21T14:49:41+0800 */ public function createImg() { /** @var 創建一個指定圖片大小的空調色板 $image = imagecreate($this->imgWidth, $this->imgHeight); $rgb = $this->getBackground($this->type); /** @var 為圖片創建一個背景色 */ $backgroundColor = imagecolorallocate($image, $rgb[’r’], $rgb[’g’], $rgb[’b’]); /** @var 創建文字白色字體 */ $textColor = imagecolorallocate($image, 255, 255, 255); /** @var 字體文件路徑 */ $font = $_SERVER[’DOCUMENT_ROOT’].’/public/font/simhei.ttf’; $x = 18;//文字起始位置x坐標 $y = 50;//文字起始位置y坐標 /** 文字寫入圖片 */ $angle = 0;//角度0 imagettftext($image, $this->fontSize, $angle, $x, $y, $textColor, $font, $this->text); /** @var 水印圖片路徑 **/ $waterImgPath = $this->randWaterImage(); /** @var 獲取圖片信息,返回值$waterInfo[2] 為圖片類型常量 */ $waterInfo = getimagesize($waterImgPath); /** @var 將圖片類型常量轉換為真正的類型,如png */ $waterType = image_type_to_extension($waterInfo[2], false);//獲取文件類型 $createImageFunc = ’imagecreatefrom’.$waterType; /** @var 創建一個水印圖片的副本 $createImageFunc 為根據圖片類型來動態生成預調用的創建圖片函數*/ $mask = $createImageFunc($waterImgPath); $posX = $this->imgWidth - $waterInfo[0];//水印圖片,在目標圖片中的位置的x坐標 $posY = $this->imgHeight - $waterInfo[1];//水印圖片,在目標圖片中的位置的y坐標 /** http請求響應類型設置為 image/png 以便直接顯示為圖片 */ header('Content-Type:image/png'); /** 水印圖片復制到創建的image */ imagecopy($image, $mask, $posX, $posY, 0, 0, $waterInfo[0], $waterInfo[1]); imagepng($image);//輸入圖片到瀏覽器或者文件 imagedestroy($image);//銷毀圖片 } /** * 圖片背景顏色的rgb值 * @author bignerd * @since 2017-03-21T14:50:16+0800 */ public function getBackground() { $background = [ ’1’=>[’r’=>0, ’g’=>160,’b’=>233], ’2’=>[’r’=>198,’g’=>0, ’b’=>110], ’3’=>[’r’=>237,’g’=>109,’b’=>0], ’4’=>[’r’=>33, ’g’=>148,’b’=>75], ’5’=>[’r’=>63, ’g’=>58, ’b’=>57], ’6’=>[’r’=>202,’g’=>162,’b’=>101], ]; return $background[$this->type]; } /** * 隨機水印圖片路徑 * @author bignerd * @since 2017-03-21T14:51:00+0800 * @return 路徑 */ public function randWaterImage() { $folder = [ ’1’=>’product’,’2’=>’team’,’3’=>’architecture’,’4’=>’developer’,’5’=>’test’,’6’=>’engineer’ ]; $targetFolder = $_SERVER[’DOCUMENT_ROOT’].’/public/images/role/’.$folder[$this->type].’/’.rand(1,38).’.png’; return $targetFolder; }}$image = new GenerateRandomImage(1,'扛得住的MySql數據架構');$image->createImg();

這樣我們就可以直接在頁面中使用 <img src='http://xxx.com/GenerateRandomImage.php' />來直接顯示圖片。

注意:過程中遇到過一個問題:如果水印圖片是透明的png圖片,那將水印圖片復制到image中時,會顯示為白色背景,與我們設定 的image背景無法透明融合,所以對隨機的水印圖片也需要做同樣的顏色處理。

四、總結

這個小示例用簡單的步驟來生成一張圖片,直接顯示在瀏覽器,也可以給imagepng加第二參數,也就是路徑,以保存圖片。所以學會示例中的幾個GD庫中的方法,就可以實現創建圖片、為圖片添加文字水印、或圖片水印。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: PHP
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
黑丝一区二区| 天天影视色香欲综合网老头| 亚洲日韩欧美一区二区在线| eeuss国产一区二区三区| 色哟哟一区二区在线观看| 综合电影一区二区三区 | 成人精品一区二区三区四区| 中国成人在线视频| 亚洲欧美日韩在线播放| 精品999网站| 国产精品三级电影| 欧美日韩亚洲国产精品| 亚洲国产精品精华液2区45| 成人av影院在线| 欧美成人aa大片| 成人性生交大合| 日韩天堂在线观看| 国产精品18久久久久久久网站| 欧美久久一二三四区| 国模冰冰炮一区二区| 欧美伊人久久久久久久久影院| 日本欧美久久久久免费播放网| 久久精品国产清高在天天线| 亚洲高清中文字幕| 久久亚洲国产精品一区二区 | 久久精品人人做人人综合| 国产成人啪免费观看软件| 91精品国产麻豆| 成人黄页毛片网站| 久久这里只有精品6| 欧美高清一区二区| 国产精品乱码一区二区三区软件| 欧美性大战久久久久| 欧美激情在线看| 亚洲第一精品影视| 一区二区三区在线视频播放| 夜久久久久久| 视频一区二区国产| 久热综合在线亚洲精品| 黄网站免费久久| 777xxx欧美| 国产激情精品久久久第一区二区| 精品捆绑美女sm三区| 99久久精品免费看| 中文字幕在线观看一区| 亚洲天堂男人| 中文字幕中文字幕中文字幕亚洲无线| 亚洲高清成人| 亚洲一区二区黄色| 欧美视频完全免费看| 国精品**一区二区三区在线蜜桃| 91麻豆精品国产91久久久使用方法| 99久久777色| 中文字幕亚洲在| 久久综合影音| 国产一区啦啦啦在线观看| 日韩一区二区三区高清免费看看| 91免费在线看| 日韩一区在线播放| 久久精品在线| 国产精品资源在线| 国产亚洲午夜高清国产拍精品| 好吊视频一区二区三区四区| 一区二区三区日韩在线观看| 91福利精品视频| 亚洲男人天堂av网| 美日韩在线观看| 福利视频网站一区二区三区| 国产欧美日韩另类视频免费观看| 国产欧美日韩一区| 蜜桃免费网站一区二区三区| 日韩午夜在线电影| 美国毛片一区二区| 日韩午夜精品电影| 亚洲巨乳在线| 免费看日韩精品| 日韩三级高清在线| 雨宫琴音一区二区在线| 日韩精品一卡二卡三卡四卡无卡| 日韩亚洲欧美一区| 尤物精品在线| 国内外精品视频| 国产亚洲成aⅴ人片在线观看| 一本久久知道综合久久| 国产一区二区三区高清播放| 久久嫩草精品久久久精品一| 日韩视频在线观看国产| 九九视频精品免费| 精品成人一区二区三区| 久久激情婷婷| 懂色av一区二区三区免费观看| 亚洲精品国产a| 欧美日韩电影在线播放| 好看不卡的中文字幕| 蜜臀av一区二区在线观看| 26uuu色噜噜精品一区二区| 国产一区二区黄色| 国产剧情在线观看一区二区| 亚洲国产精品99久久久久久久久| 在线影院国内精品| 99久久精品一区二区| 亚洲午夜在线视频| 日韩欧美在线影院| 老妇喷水一区二区三区| 91丨九色丨国产丨porny| 亚洲成人免费看| 久久精品人人做| 在线看日本不卡| 亚洲小说欧美另类婷婷| 激情亚洲综合在线| 亚洲精品国产一区二区三区四区在线| 欧美大度的电影原声| 亚洲综合国产激情另类一区| 97超碰欧美中文字幕| 美腿丝袜一区二区三区| 亚洲视频香蕉人妖| 69堂精品视频| 国产一区在线精品| 亚洲国产中文字幕在线视频综合 | 91久久黄色| 国产成人午夜精品5599| 婷婷久久综合九色综合绿巨人| 久久精品一区蜜桃臀影院| 欧美日本韩国一区| 国产精品入口66mio| 91在线视频网址| 激情文学综合插| 亚洲在线成人精品| 国产精品色在线| 欧美日韩国产大片| 久久久久久久波多野高潮日日| 国产精品草草| 国产1区2区3区精品美女| 日韩电影在线一区| 国产精品国产三级国产aⅴ原创| 欧美mv日韩mv| 欧美视频日韩视频在线观看| 亚洲影视在线| 亚洲亚洲精品三区日韩精品在线视频| 国产精品一二三四| 蜜臀久久99精品久久久久宅男 | 一区二区三区在线观看动漫| 精品国免费一区二区三区| 在线观看www91| 九九九久久久精品| 日韩av中文在线观看| 亚洲男人天堂av| 国产精品二区一区二区aⅴ污介绍| 欧美另类一区二区三区| 噜噜爱69成人精品| 亚洲看片网站| 欧美亚洲不卡| 欧美日韩免费观看一区=区三区| 成人网在线免费视频| 国产精品自拍三区| 久久精品国产亚洲aⅴ| 日韩专区在线视频| 亚洲欧洲精品天堂一级| 国产欧美一区二区在线观看| 精品国产成人系列| 欧美一区二区免费视频| 在线播放国产精品二区一二区四区| 亚洲一区二区三区精品在线观看| 国产一区二区三区四区hd| 99久久久免费精品国产一区二区| 成人丝袜18视频在线观看| 国产精品系列在线观看| 美女脱光内衣内裤视频久久网站 | 综合久久久久久| 国产欧美精品一区| 久久久国产精品午夜一区ai换脸| 日韩欧美国产一二三区| 欧美丰满美乳xxx高潮www| 91精品国产欧美日韩| 欧美精品电影在线播放| 欧美卡1卡2卡| 91.麻豆视频| 欧美成人精品1314www| 日韩欧美电影一二三| 精品日本一线二线三线不卡| 欧美一级理论片| 日韩美女一区二区三区| 精品福利一二区| 欧美一区二区三区在线观看| 欧美精品一卡两卡| 欧美日韩一卡二卡| 91精品国产综合久久久久久| 欧美日韩黄色一区二区| 69堂国产成人免费视频| 欧美一区二区三区四区五区 | 亚洲国产一区二区三区| 亚洲综合成人在线视频| 中文字幕一区在线观看视频| 亚洲三级视频在线观看| 亚洲日本丝袜连裤袜办公室| 夜夜嗨av一区二区三区网页| 亚洲午夜免费视频| 日本中文字幕一区二区有限公司| 午夜精品视频一区| 麻豆91精品视频|