1. 程式人生 > >水印第三版 ~ 變態水印(這次用Magick.NET來實現,附需求分析和原始碼)

水印第三版 ~ 變態水印(這次用Magick.NET來實現,附需求分析和原始碼)

以前的水印,只是簡單走起,用的是原生態的方法。現在各種變態水印,於是就不再用原生態的了,太麻煩了,這次用的是Magick,這個類庫還是很有名的,圖形化處理基本上都是支援的,至少逆天是挺喜歡的

歷史文章:

1.逆天通用水印支援Winform,WPF,Web,WP,Win10。支援位置選擇(9個位置 ==》[X])

2.逆天通用水印擴充套件篇~新增剪貼簿系列的功能和手動配置,卸除原基礎不常用的功能

  朋友在婚紗影樓工作,在一次交流中發現ta每天弄圖片水印都好幾個小時,於是逆天就說了一句牛逼的話:“ 程式設計師沒啥用,也就把你們每天重複又耗時的事變成每天點兩下 ~ ”,本來是想這句話說的不怎麼準確,有些人肯定說不用電腦看你怎麼點兩下來完成,後來一想。。。也的確是呀~~反正就是點兩下完成,你不用電腦你用機器人也一樣滴,人能幹的機器人也能幹,機器人也需要程式設計師的程式,那麼還不是點兩下按鈕就完成了~~~~所以說嘛:得程式設計師者得天下~

裝逼結束,步入正規~

分析一下需求要求是兩種顏色的水印,一種是白色(針對深色背景圖)一種是黑色(針對淺色背景圖),必須全部鋪滿,水印透明度需要時不時的變更

一看到這個需求瞬間 "噗" 了一下,(-。-;) 不愧是專門搞PS的人,一個水印都這麼到位,基本上水印完了別人也不太想盜圖了。。。

看效果:(可以點開圖片看)

原圖:

 

 

 

水印效果:(白色)

水印效果:(黑色)

1.先看看逆天自己P的一張水印圖(還好沒忘記以前在學校裡面搗鼓的東西)【原始碼會一起發】

2.程式碼分析:

Magick很多功能,水印只是其中一部分

我們這邊引用Q8(其實是逆天實踐的結果,如果你對圖片沒有太高太高標準,Q8就夠了)

程式碼很簡單,簡單說一下 ,原始碼公開在github上的,隨時可以看的,高手請點這==》 我要速度

 初始化

按鈕事件:

核心點:批量水印(非同步執行)

設定窗體UI

設定窗體後端程式碼

UI介面:

相關推薦

水印 ~ 變態水印這次Magick.NET實現需求分析原始碼

以前的水印,只是簡單走起,用的是原生態的方法。現在各種變態水印,於是就不再用原生態的了,太麻煩了,這次用的是Magick,這個類庫還是很有名的,圖形化處理基本上都是支援的,至少逆天是挺喜歡的 歷史文章: 1.逆天通用水印支援Winform,WPF,Web,WP,Win10。支援位置選擇(9個位置

水印 ~ 非人水印新增人臉識別

說起這個人臉識別,還真有點緣分。記得逆天以前在學生時代參加創新大賽的時候,題目就是人臉識別打卡 解決別人替人打卡的問題,想想看,要是用微軟的faceapi那還不是很容易實現的? 一張圖概括: 額,這次先看下效果,然後普及一些開發過程中的知識點,然後介紹一下微軟的FaceAPI ==》原來

python基礎教程)學習筆記

第六章 抽象(函式) 6.1 懶惰是一種美德 6.2 抽象和結構 6.3 自定義函式 判斷某個物件是否可呼叫,可使用內建函式callable。格式是callable(物件)。 函式是結構化程式設計的核心。使用def(表示定義函式)語句。 '''   def fun(str_s): #

python基礎教程)學習筆記

第四章 字典 字典一種可通過名稱來訪問其各個值的資料結構。這種資料結構稱為對映。字典是Python中唯一的內建對映型別,其中的值不按順序排列,而是儲存在鍵下。鍵可能是數、字串或元組。 4.1 字典的用途 i表示棋盤的狀態,其中每個鍵都是由座標組成的元組; ii儲存檔案修改時間,其中的鍵為檔名; ii

python基礎教程)學習筆記

第三章 使用字串 3.1 字串基本操作 所有標準序列操作(索引、切片、乘法、成員資格檢查、長度、最小值和最大值)都適用於字串,但別忘了字串是不可變的,因此所有的元素賦值和切片賦值都是非法的。 3.2設定字串的格式 3.2.1% 使用字串格式設定運算子——百分號。這個運算子的行為類似於C語言中的經典函

python基礎教程)學習筆記

第二章 列表和元組 2.1序列概述 Python內建的序列包括列表、元組、字串、Unicode字串、buffer物件和xrange物件等,本章僅介紹列表和元組。 列表和元組的主要不同在於,列表的元素是可以修改的,而元組不可以單獨更改其中的單個元素,但可以更改元組的整體內容。 在序列中,每個元素都有編

python基礎教程)學習筆記十二

第十二章 圖形使用者介面 12.1 建立 GUI 示例應用程式 編寫一個簡 單的程式,讓使用者能夠編輯文字檔案 這個微型文字編輯器的需求如下。 1、 讓使用者能夠開啟指定的文字檔案。 2、 讓使用者能夠編輯文字檔案。 3、 讓使用者能夠儲存文字檔案。 4、讓使用者

python基礎教程)學習筆記十一

第十一章 檔案 11.1 開啟檔案 要開啟檔案,可使用函式open,它位於自動匯入的模組io中。函式open將檔名作為唯一必不可少的引數,並返回一個檔案物件。 from contextlib import contextmanager import sys,pprint f=open('xx.

python基礎教程)學習筆記

第十章 開箱即用 本章簡要介紹模組的工作原理以及如何探索模組以獲悉其提供的功能,然後概述標準庫,重點是幾個很有用的模組。 10.1 模組 使用import將函式從外部模組匯入到程式中。 ''' import math as ma Pi=3.1415926 v=ma.sin(Pi/6) pri

python基礎教程)學習筆記

第九章 魔法方法、特性和迭代器 9.1 如果你使用的不是python3 在Python 2.2中,Python物件的工作方式有了很大的變化。這種變化帶來了多個方面的影響。這些影響對Python程式設計新手來說大都不重要,但有一點需要注意:即便你使用的是較新的Python 2版本,有些功能(如特性

python基礎教程)學習筆記

第八章異常 異常事件可能是錯誤(如試圖除以零),也可能是通常不會發生的事情。為處理這些異常事件,可在每個可能發生這些事件的地方都使用異常處理機制。 8.1 異常是什麼 Python使用異常物件來表示異常狀態,並在遇到錯誤時引發異常。異常物件未被處理(或捕獲)時,程式將終止並顯示一條錯誤訊息(trac

python基礎教程)學習筆記

第七章 再談抽象 自定義`類和物件 7.1 物件魔法 多型:可對不同型別的物件執行相同的操作,而這些操作就像“被施了魔法”一樣能夠正常執行。 封裝:對外部隱藏有關物件工作原理的細節。 繼承:可基於通用類創建出專用類。 7.1.1 多型 大致意味著即便你不知道變數指向的是哪種物件,也能夠對其執行操作,

python基礎教程)學習筆記十八

第十八章 程式打包 本章重點介紹Setuptools,因為這是每個Python程式設計師都要用到的工具。實際上,Setuptools 並非只能用於建立基於指令碼的Python安裝程式,還可用於編譯擴充套件。另外,通過將其與擴充套件py2exe 和py2app結合起來使用,還可建立獨立的Windo

python基礎教程)學習筆記十七

第十七章 擴充套件Python 這門語言功能強大,但有時候速度有點慢。 Python的目標是易於使用以及幫助提高開發速度,這種靈活 性是以犧牲效率為代價的。 但如果你真的很 在乎速度,C、C++、Java和Julia等語言通常要快好幾個數量級。 17.1 魚和熊掌兼得 本章討論確實需要進

python基礎教程)學習筆記十六

第十六章 測試基礎 除錯是程式設計師躲不開的宿命,是程式設計工作的有機組成部分。 本章介紹測試的基本知識。培養如何養成在程式設計中進行測試的習慣,並介紹一些可幫 助編寫測試的工具。 16.1 先測試再編碼 要避免程式碼在開發途中被淘汰,必須能夠應對變化並具備一定的靈活性,因此為程式的各個

python基礎教程)學習筆記十四

第十四章 網路程式設計   鑑於Python提供的網路工具眾多,這裡只能簡要地介紹它的網路功能。 本章首先概述Python標準庫中的一些網路模組。然後討論SocketServer和相關的類,並介紹 地介紹同時處理多個連線的各種方法。最後,簡單地說一說Twisted,這是一個使用Pyth

python基礎教程)學習筆記十三

第十三章 資料庫支援 本章討論Python資料庫API(一種連線到SQL資料庫的標準化方式),並演示如何使用這個API 來執行一些基本的SQL。 本章使用的是簡單資料庫SQLite。介紹一些SQLite資料庫知識。不要指望在本章得到多少資料庫操作的具體知識。另外本章學習很大一部分基於PEP 24

Python核心程式設計練習參考第一章:正則表示式

1-1 識別後續的字串:“bat”、“bit”、“but”、“hat”、“hit”或者“hut”。 答:'[bh][aiu]t' 1-2 匹配由單個空格分隔的任意單詞對,也就是姓和名。 答:'\w+\s\w+' 1-3 匹配由單個逗號和單個空白符分隔的任何單詞和單個字

《Javascript 高階程式設計()》筆記0x1B 使用 Canvas 繪圖:基本用法2D上下文

目錄 基本用法 2D 上下文     填充和描邊     繪製矩形     繪製路徑     繪製文字     變換

VS2013 MFC連線Access資料庫ADO詳細例項操作含Combo Box讀取資料庫內容原始碼

話不多說,先上圖,如果你需要的是這樣的程式,那麼可以下載下來看一看,帖子裡也會附上比較具體的操作步驟:先附上下載地址:程式下載地址 程式已經經過VS 2013+Windows 7+Access 2003的測試(執行出現其他問題應該多為環境問題,解決辦法各位可以自行百度)具體的