摘要:我們經(jīng)常能在圖片上看到一些水印,一般分為圖片文字或者是兩種一起的結(jié)合。那么給圖片加水印就非常有必要了。怎么用實現(xiàn)給圖片加水印呢先來看看效果使用庫使用庫來實現(xiàn)效果圖像處理和手冊正所謂授人以魚不如授人以漁,光貼代碼不講實現(xiàn)過程的,都是耍流氓。
我們經(jīng)常能在圖片上看到一些水印,一般分為圖片、文字或者是兩種一起的結(jié)合。那為什么要加水印呢?目的是為了防止別人盜圖、造假或者標注出處等,保護圖片原作者的著作權(quán)或是勞動成果。那么給圖片加水印就非常有必要了。
怎么用PHP實現(xiàn)給圖片加水印呢?
先來看看效果
使用GD庫來實現(xiàn)效果
圖像處理和 GD - 手冊
正所謂授人以魚不如授人以漁,光貼代碼不講實現(xiàn)過程的,都是耍流氓。所以下面我會寫功能的實現(xiàn)過程、過程所需要用到的函數(shù)。
內(nèi)容基本都是干貨,需要用到的時候可以方便查閱資料關(guān)鍵函數(shù)
下面是php實現(xiàn)兩種水印方式的關(guān)鍵函數(shù):
imagettftext 用 TrueType 字體向圖像寫入文本
imagecopymerge 拷貝并合并圖像的一部分
兩種水印的實現(xiàn)方式 圖片水印準備兩張圖片
原圖
水印圖
實現(xiàn)過程
在php中加載這兩張圖片,得到一個圖像資源數(shù)據(jù)類型。
根據(jù)不同的圖片格式,使用對應(yīng)函數(shù)
它們甚至可以加載一張來自網(wǎng)上的圖片
讀取圖片寬高。
imagesx 取得圖像寬度
imagesy 取得圖像高度
getimagesize 取得圖像大小
getimagesizefromstring 從字符串中獲取圖像尺寸信息
可能你會需要將水印圖進行縮小或放大(如果不需要,可以跳過這一步)
等比例縮放
計算縮放比例,根據(jù)想要縮放到的值(比如一張寬度是500px的圖片,想縮小成50px)
計算縮放之后的寬高
創(chuàng)建一個新的圖像資源(新圖像的寬高等于縮放之后的寬高)
imagecreatetruecolor 新建一個真彩色圖像
拷貝部分圖像并調(diào)整大小
imagecopyresized 拷貝部分圖像并調(diào)整大小
參數(shù)說明(為了方便理解,我對參數(shù)進行了語義化)
imagecopyresized(目標圖像資源, 原圖資源, 粘到目標圖像的起始水平坐標, 粘到目標圖像的起始垂直坐標, 拷貝原圖的起始水平坐標, 拷貝原圖的起始垂直坐標, 最終想要的寬度, 最終想要的高度, 原圖的寬度, 原圖的高度);
使用imagecopymerge函數(shù),拷貝水印圖并合并到原圖中。
簡單分析形參都有哪些(為了方便理解,我對參數(shù)進行了語義化)
imagecopymerge(原圖資源, 水印圖資源, 水印水平坐標, 水印垂直坐標, 拷貝水印圖的起始水平坐標, 拷貝水印圖的起始垂直坐標, 要拷貝的寬度, 要拷貝的高度, 水印透明度);
水印透明度:透明度范圍是0-100
輸出圖像
函數(shù)關(guān)鍵字image+圖片格式 更多查看官方手冊
imagejpeg 輸出圖象到瀏覽器或文件。
imagepng
imagegif
imagewbmp
...
如果要輸出到瀏覽器中,需要設(shè)置content-type頭部
header - 手冊 發(fā)送原生 HTTP 頭
常用對照表
釋放圖像資源
imagedestroy 銷毀圖像
文字水印簡單分析形參都有哪些(為了方便理解,我對參數(shù)進行了語義化)
imagettftext(圖像資源, 文字尺寸, 文字角度, 文字水平坐標, 文字垂直坐標, 文字顏色, 字體, 文本文字)
文字尺寸
GD庫版本是1時,單位是像素(px),版本是2時,單位是點/磅(pt)
px,pt,em換算表
文字水平垂直基點位置
字符的左下角為基本點
文字顏色
顏色索引,通過imagecolorallocate函數(shù)創(chuàng)建
字體
字體的絕對路徑
其他參考
絕對詳解PHP 的imageTtfText()函數(shù)
如果這對你有幫助,或者能幫你節(jié)省一些時間,不如,點個贊吧~
原文地址
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/29600.html
摘要:在出現(xiàn)之前,項目中的圖片添加水印的需求,必定是后端同學(xué)們來處理的,但是出來之后,前端終于可以站出來說,這個需求,交給我來壯哉我大前端,上周的任務(wù)就是在前端處理水印的效果,這個效果最重要的邏輯其實就幾行代碼,至于如何優(yōu)雅的將這些簡單的邏輯封裝 在canvas出現(xiàn)之前,項目中的圖片添加水印的需求,必定是后端同學(xué)們來處理的,但是canvas出來之后,前端終于可以站出來說,這個需求,交給我來!...
摘要:有時上傳圖片時,需要給圖片添加水印,水印一般為文字或圖片水印,下面就來看看兩種添加方法。拷貝并合并圖像的一部分更多庫函數(shù)用法,請查手冊相關(guān)文章實現(xiàn)圖片上傳時添加文字和圖片水印 有時上傳圖片時,需要給圖片添加水印,水印一般為文字或圖片logo水印,下面就來看看兩種添加方法。 一、文字水印 文字水印就是在圖片上加上文字,主要使用gd庫的imagefttext方法,并且需要字體文件。效果圖如...
摘要:其實隱藏文件和盲水印都屬于圖片隱寫術(shù)。圖片隱寫術(shù)隱寫術(shù)也是數(shù)字水印的一種應(yīng)用,雙方可利用隱藏在數(shù)字信號中的信息進行溝通。圖片隱寫術(shù)只是其中一種,有興趣的同學(xué)可以看下面這本書。盲水印一、演示首先看 這是一張女朋友解碼水印接下來我們輸入一行神奇的命令:python bwm.py --action decode --origin Demo.jpg --im ../Gakki.jpg --resul...
閱讀 2178·2021-11-24 09:38
閱讀 3242·2021-11-08 13:27
閱讀 3083·2021-09-10 10:51
閱讀 3143·2019-08-29 12:20
閱讀 663·2019-08-28 18:28
閱讀 3459·2019-08-26 11:53
閱讀 2706·2019-08-26 11:46
閱讀 1515·2019-08-26 10:56