php面向?qū)ο笈c面向過程兩種方法給圖片添加文字水印
目前絕大多數(shù)PHP程序員使用面向過程的方式,因?yàn)榻馕鯳EB頁面本身就非?!斑^程化”(從一個(gè)標(biāo)簽到另一個(gè)標(biāo)簽)。在HTML中嵌入過程處理代碼是很直接自然的作法,所以PHP程序員通常使用這種方式。
如果你是剛接觸PHP,用面向過程的風(fēng)格來書寫代碼很可能是你唯一的選擇。但是如果你經(jīng)常上PHP論壇和新聞組的話,你應(yīng)該會看到有關(guān)“對象”的文章。你也可能看到過如何書寫面向?qū)ο蟮腜HP代碼的教程?;蛘吣阋部赡芟螺d過一些現(xiàn)成的類庫,并嘗試著去實(shí)例化其中的對象和使用類方法--盡管你可能沒有真正理解這些類為什么可以工作,或者為什么需要使用面向?qū)ο蟮姆椒▉韺?shí)現(xiàn)功能。
應(yīng)該使用“面向?qū)ο蟆钡娘L(fēng)格還是“面向過程”的風(fēng)格?雙方各有支持者。像“對象是低效的”或“對象非常棒”這樣的議論也時(shí)有耳聞。本文不嘗試輕易判定兩種方法的哪種具有絕對的優(yōu)勢,而是要找出每種方法的優(yōu)缺點(diǎn)。
1:面向?qū)ο蟮膶?shí)現(xiàn)利用php給圖片添加水印方法
class Image_class { private $image; private $info; /** * @param $src:圖片路徑 * 加載圖片到內(nèi)存中 */ function __construct($src){ $info = getimagesize($src); $type = image_type_to_extension($info[2],false); $this -> info =$info; $this->info['type'] = $type; $fun = "imagecreatefrom" .$type; $this -> image = $fun($src); } /** * @param $fontsize: 字體大小 * @param $x: 字體在圖片中的x位置 * @param $y: 字體在圖片中的y位置 * @param $color: 字體的顏色是一個(gè)包含rgba的數(shù)組 * @param $text: 想要添加的內(nèi)容 * 操作內(nèi)存中的圖片,給圖片添加文字水印 */ public function fontMark($fontsize,$x,$y,$color,$text){ $col = imagecolorallocatealpha($this->image,$color[0],$color[1],$color[2],$color[3]); imagestring($this->image,$fontsize,$x,$y,$text,$col); } /* * 輸出圖片到瀏覽器中 */ public function show(){ header('content-type:' . $this -> info['mime']); $fun='image' . $this->info['type']; $fun($this->image); } /** * 銷毀圖片 */ function __destruct(){ imagedestroy($this->image); } } //對類的調(diào)用 $obj = new Image_class('001.png'); $obj->fontMark(20,20,30,array(255,255,255,60),'hello'); $obj->show();
2: 面向過程的編寫利用php給圖片添加水印方法:
//指定圖片路徑 $src = '001.png'; //獲取圖片信息 $info = getimagesize($src); //獲取圖片擴(kuò)展名 $type = image_type_to_extension($info[2],false); //動態(tài)的把圖片導(dǎo)入內(nèi)存中 $fun = "imagecreatefrom{$type}"; $image = $fun('001.png'); //指定字體顏色 $col = imagecolorallocatealpha($image,255,255,255,50); //指定字體內(nèi)容 $content = 'helloworld'; //給圖片添加文字 imagestring($image,5,20,30,$content,$col); //指定輸入類型 header('Content-type:'.$info['mime']); //動態(tài)的輸出圖片到瀏覽器中 $func = "image{$type}"; $func($image); //銷毀圖片 imagedestroy($image);
以上代碼示例是介紹php面向?qū)ο笈c面向過程兩種方法給圖片添加文字水印,希望大家喜歡。
- php gd2 上傳圖片/文字水印/圖片水印/等比例縮略圖/實(shí)現(xiàn)代碼
- php文字水印和php圖片水印實(shí)現(xiàn)代碼(二種加水印方法)
- php給圖片添加文字水印方法匯總
- php圖片添加文字水印實(shí)現(xiàn)代碼
- php給圖片加文字水印
- PHP添加文字水印或圖片水印的水印類完整源代碼與使用示例
- PHP Imagick完美實(shí)現(xiàn)圖片裁切、生成縮略圖、添加水印
- php下圖片文字混合水印與縮略圖實(shí)現(xiàn)代碼
- php圖片處理:加水印、縮略圖的實(shí)現(xiàn)(自定義函數(shù):watermark、thumbnail)
- PHP開發(fā)的文字水印,縮略圖,圖片水印實(shí)現(xiàn)類與用法示例
相關(guān)文章
PHP運(yùn)用foreach神奇的轉(zhuǎn)換數(shù)組(實(shí)例講解)
下面小編就為大家分享一篇PHP運(yùn)用foreach神奇的轉(zhuǎn)換數(shù)組(實(shí)例講解),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-02-02Laravel框架學(xué)習(xí)筆記之批量更新數(shù)據(jù)功能
這篇文章主要介紹了Laravel框架學(xué)習(xí)筆記之批量更新數(shù)據(jù)功能,結(jié)合實(shí)例形式分析了Laravel框架批量更新數(shù)據(jù)的相關(guān)模型定義與使用操作技巧,需要的朋友可以參考下2019-05-05分享PHP源碼批量抓取遠(yuǎn)程網(wǎng)頁圖片并保存到本地的實(shí)現(xiàn)方法
本篇文章給大家分享PHP源碼批量抓取遠(yuǎn)程網(wǎng)頁圖片并保存到本地的實(shí)現(xiàn)方法,對批量抓取網(wǎng)頁圖片相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧2015-12-12