1 頁 (共 3 頁)

[問題]如何實現圖片的水印?

發表於 : 2004-08-16 17:22
fankun
phpBB如何實現圖片的水印?

有沒有這樣的mod? 或者誰知道實現的方法拿出來共享一下

Re: [問題]如何實現圖片的水印?

發表於 : 2004-08-17 00:23
小斌
fankun 寫:phpBB如何實現圖片的水印?

有沒有這樣的mod? 或者誰知道實現的方法拿出來共享一下
不太懂你所謂的水印是什麼意思…可以具體說明一下嗎?
HTML語法中,有一種是固定背景圖不會隨捲軸一起動,在ForntPage中叫做浮水印…不過我想這不是你指的水印?

發表於 : 2004-08-17 21:15
fankun
圖檔

看到上面這個圖片,裡面的網址就算是水印。也就是說所有用戶上傳的圖片都將會被加上一個水印標記,可以是一個圖片標記也可以是文字的,來證明這張圖片來自於什麼地方,這樣不論將來這張圖片被轉到任何論壇,看到圖片的人都將知道這張圖片最初是發在什麼地方的。也是一種很有效的防盜版措施。

Re: [問題]如何實現圖片的水印?

發表於 : 2004-08-17 22:02
dener
我想樓主的意思是\r
在滑鼠移過之前圖片是淡淡的
然後滑鼠移到圖片正上方時才顯示真正的顏色\r
比如
http://www.starryhometown.com/Starry_Forum/index.php

發表於 : 2004-08-17 22:08
webspirit
不是\r
fankun的意思是在會員上傳的圖片上都會加上watermark
就像付費圖片網站一樣,在圖上會有該站的版權mark

發表於 : 2004-08-17 22:11
dener
我看到了~呵呵~
抱歉~剛沒有往下看~
應該可以用PHOTOIMPACT先弄個你網站網址的GIF檔(背景透明)
再把那個網址移到需要貼水印的圖片合併就完成了
這樣會不會太複雜= =?

發表於 : 2004-08-17 22:18
webspirit
也不是\r
那算是個外掛(插件)
這在大陸的論壇系統上很流行
但在洋人的論壇系統上還沒看過(也許只有我沒看過 XD)

發表於 : 2004-08-17 22:22
fankun
不是軟件實現的,而是服務器裝了GD或者其它圖像引擎後使用特定語法來自動實現的。

打個比方,一個用戶發表了文章,並且上傳了這樣一張圖片
圖檔

那麼當文章顯示出來後是這個樣子,也就是被加上了那個網址,這不需要人工參與,是服務器的GD庫實現\r
圖檔

目前別的論壇有這樣的功能,phpbb我不知道有沒有這樣的mod,所以問問。

發表於 : 2004-08-17 22:24
webspirit
嗯...
PHPWind、動網、Discuz!好像都有

發表於 : 2004-08-17 22:30
fankun
那phpBB呢?

發表於 : 2004-08-17 22:58
Mac
我知道 Discuz! 有,但是 phpBB 到目前為止還沒看過
誰找的到 Discuz! 的這個 MOD?

~Mac

發表於 : 2004-08-17 23:07
fankun
水印HACK


功能:在上傳的圖片中增加論壇特定信息,例如包含網址的圖片或者文字
目前支持的圖片格式只有'jpg','png',因為gif的版權問題所以不一定服務器支持,bmp是不支持的。

添加本HACK步驟

1、把附件中的文件上傳到 include目錄,其中imgmark.php為主要文件,gb2312.txt為支持中文顯示的文件。

2、把需要的字體文件放到"c:\winnt\fonts"目錄中,如果沒有這個目錄就建立一個,否則無法使用字體。至於unix類的服務器則不需要

3、在/include/post.php文件中查找\r


Code: [Copy to clipboard]
if(!$attach_saved) {
showmessage('post_attachment_save_error');
} else {
return true;
}



在前面添加:


Code: [Copy to clipboard]
if(in_array($extension, array('jpg','gif','png'))) {
echo $discuz_root;
$tmp_image = new Gimage();
$tmp_image->wm_text="圖片上傳於www.cn18.net";//要顯示在圖片中的文字信息,支持中英文
// $tmp_image->wm_image_name=「";//要顯示在圖片中的水印圖片名稱,包括路徑名
$tmp_image->wm_text_font = 'simhei';//水印文字的字體,也就是在c:/winnt/fonts中的字體文件名
$tmp_image->save_file=$source;
$tmp_image->create($source);
}



其他更精確的調整,請察看imgmark.php中的內容,有詳細的解釋說明,需要注意的是:

1、因為imagettftext中的插入文字的位置需要考慮字體的大小,所以只使用$wm_text_pos會有文字錯位的情況發生,這時只要自己在代碼中調整一下就可以了

2、如果出現沒有找到字體的錯誤提示,請注意把字體文件上傳到c:/winnt/fonts目錄中,如果沒有就建立一個,至於其他辦法我還沒有找到 ,如果有朋友能發現更簡單的解決這個問題,請留言告之,先謝謝了

3、整個hack需要GD庫的支持,所以沒有GD庫是無法使用的。

4、因為本人水平有限,這個HACK還不完整,而且一些代碼都是直接引用了其他朋友的作品,所以屬於測試版,大家可以在自己的機器上測試一下看看效果。

5、因為使用了gb2312->utf8的轉換代碼,效率比較低,如果有人熟悉php可以不用gb2utf8()這個函數轉換,直接寫出中文的utf-8代碼也可以,速度會更快
\n
6、刪除非常簡單,只要把上面添加到post.php中的代碼刪除即可。

發表於 : 2004-08-17 23:20
fankun

發表於 : 2004-08-17 23:58
吉川拓也
感覺 Mac 學長好像快發佈這個 Mod's 了= =+
感動中 ~~~~

發表於 : 2004-08-18 00:24
fankun
實現水印有多種方法,我用過兩種方法實現過,但是覺得不是太舒服,其一是只顯示的時候加水印,這樣原圖片不改,找到實際的圖片位置後就可以破解這種方法,二是上傳加水印,基本上失敗,圖片很困難傳上去,傳上去後發現被加水印的圖片都變成黑白的了,失敗。

誰有這方面的經驗說出來參考參考行麼,看哪種實現方法最好