日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

使用python 对图片进行水印,保护自己写的文章

發布時間:2025/3/8 python 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用python 对图片进行水印,保护自己写的文章 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1,關于文章被爬


說起來挺桑心的,好不容易寫的文章,被爬走。
用個搜索引擎搜索都不是在第一位,寫的文章全給這些網站提供流量了。
這種網站還居多廣告。
還是抱怨少點吧。csdn對于這些事情也是無所作為啊。
最起碼的防盜鏈也不加上,圖片直接用csdn的。

網易,qq在 上個世紀就加上防盜鏈了。

csdn也是土豪啊,這公益事業做的!!!真叫好。
舉例:
之前寫第一個rancher文章:
原文章:
http://blog.csdn.net/freewebsys/article/details/51154388
被抓取的文章:
http://www.bkjia.com/Linux/1124575.html
直接將我的頂部和底部的聲明,和我的博主地址刪除了。
我還故意沒有放到最后一行,也被刪除了。
這個有意思。估計是弄了一個正則的庫,遇見連接直接給刪除了。
這次來個NB的,我直接在圖片里面加上我的博主地址。
看看他們咋處理。

2,python處理圖片


首先我的電腦是mac,其他系統也是一樣的。
用的最多的是qq截屏生成的圖片。
監控qq截屏目錄,使用watchdog。
項目地址:
https://github.com/gorakhargosh/watchdog
安裝:

pip install watchdog

3,macos 下面安裝PIL


mac安裝之前必須安裝freetype。需要引入中文字體,否則亂碼。

brew install libpng brew install freetype #安裝之后需要把freeType的include文件做個軟連接。保證能訪問到。 sudo ln -s /usr/local/Cellar/freetype/2.5.3_1/include/freetype2 /usr/include/freetype

官方網站:(python imaging library)
http://www.pythonware.com/products/pil/
由于沒有windows的版本,直接使用源代碼安裝。最后更新的時間是2009年。

#解壓縮 tar -zxvf Imaging-1.1.7.tar.gz cd Imaging-1.1.7 python setup.py build python setup.py install

安裝完之后就可以使用了。
安裝到了目錄/Library/Python/2.7/site-packages/PIL 下面。

4,編寫python代碼


代碼實現主要功能:
增加對qq截屏文件夾的監聽,然后生成新的文件之后立刻對圖像進行增加水印。
效果如下:


干的漂亮,但是有幾個問題,字體只能是19號,再小了就亂了。
源代碼如下:

#!/usr/bin/python # -*- coding: utf-8 -*-################import sys import time import logging #設置日志格式. logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(message)s', datefmt='%Y-%m-%d %H:%M:%S') from watchdog.observers import Observer from watchdog.events import FileSystemEventHandlerreload(sys) charset = "utf-8" sys.setdefaultencoding(charset) import Image import ImageDraw import ImageFont#增加水印.直接寫入文件. def watermask(qq_screencapture_file):print(qq_screencapture_file)#寫入兩行文件.sign_text1 = u'版權聲明:本文為博主原創,未經允許不得轉載。'sign_text2 = u'博主地址:http://blog.csdn.net/freewebsys'#字體必須大于等于19才可以輸出漢字,過小可能該庫渲染不起來,具體原因不清楚。font = ImageFont.truetype('simhei.ttf',19)img = Image.open(qq_screencapture_file)#獲得圖片長和寬,將文字寫到最底下.width,height = img.size#img = Image.new("RGBA",(300,200),(0,0,0))draw = ImageDraw.Draw(img)#draw.text( (0,50), u'你好,世界!', font=font)# draw.text( (0,50), unicode(txt,'UTF-8'))draw.text((20,height-50),sign_text1,fill='#ff0000', font=font)draw.text((20,height-30),sign_text2,fill='#ff0000', font=font)del draw#正好qq圖片是png的.img.save(qq_screencapture_file, "PNG")print("finish.")#增加監控Handler類. class MyEventHandler(FileSystemEventHandler):#其他還有別的,只保留創建函數.(其他還有on_moved,on_deleted,on_modified等.def on_created(self, event):what = 'directory' if event.is_directory else 'file'#logging.info("Created %s: %s", what, event.src_path)#對圖像進行處理,增加水印.watermask(event.src_path)if __name__ == "__main__":path = "your_qq_ScreenCapture_dir"#增加 handler事件類.event_handler = MyEventHandler()#一些是官方寫法.不做修改.observer = Observer()observer.schedule(event_handler, path, recursive=True)observer.start()try:while True:time.sleep(1)except KeyboardInterrupt:observer.stop()observer.join()

最后注意下字體文件,需要放到當前目錄下面。
從網上搜索一個字體文件就行。我使用的是黑體的。

5,總結


自己的文章還是很辛苦的寫的呢。
花不少時間的勞動成果不想被他人就這么竊取。
但是還想繼續寫博客,這個好習慣我也會繼續堅持下去的。
增加水印的這個辦法超級棒,并且自己設計水印。
還是程序員厲害。
本文的原文連接是: http://blog.csdn.net/freewebsys/article/details/51800163 未經博主允許不得轉載。
@ http://blog.csdn.net/freewebsys

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的使用python 对图片进行水印,保护自己写的文章的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。