水印第三版 ~ 变态水印(这次用Magick.NET来实现,附需求分析和源码)
技能 汇总:http://www.cnblogs.com/dunitian/p/4822808.html#skill
以前的水印,只是简单走起,用的是原生态的方法。现在各种变态水印,于是就不再用原生态的了,太麻烦了,这次用的是Magick,这个类库还是很有名的,图形化处理基本上都是支持的,至少逆天是挺喜欢的
历史文章:
1.逆天通用水印支持Winform,WPF,Web,WP,Win10。支持位置选择(9个位置 ==》[X])
http://www.cnblogs.com/dunitian/p/4939369.html
2.逆天通用水印扩展篇~新增剪贴板系列的功能和手动配置,卸除原基础不常用的功能
朋友在婚纱影楼工作,在一次交流中发现ta每天弄图片水印都好几个小时,于是逆天就说了一句牛逼的话:“ 程序员没啥用,也就把你们每天重复又耗时的事变成每天点两下 ~ ”,本来是想这句话说的不怎么准确,有些人肯定说不用电脑看你怎么点两下来完成,后来一想。。。也的确是呀~~反正就是点两下完成,你不用电脑你用机器人也一样滴,人能干的机器人也能干,机器人也需要程序员的程序,那么还不是点两下按钮就完成了~~~~所以说嘛:得程序员者得天下~
装逼结束,步入正规~
分析一下需求:要求是两种颜色的水印,一种是白色(针对深色背景图)一种是黑色(针对浅色背景图),必须全部铺满,水印透明度需要时不时的变更
一看到这个需求瞬间 "噗" 了一下,(-。-;) 不愧是专门搞PS的人,一个水印都这么到位,基本上水印完了别人也不太想盗图了。。。
看效果:(可以点开图片看)
原图:
水印效果:(白色)
水印效果:(黑色)
1.先看看逆天自己P的一张水印图(还好没忘记以前在学校里面捣鼓的东西)【源码会一起发】

2.代码分析:
Magick很多功能,水印只是其中一部分


我们这边引用Q8(其实是逆天实践的结果,如果你对图片没有太高太高标准,Q8就够了)

代码很简单,简单说一下 ,源码公开在github上的,随时可以看的,高手请点这==》 我要速度

初始化

按钮事件:

核心点:批量水印(异步执行)




设置窗体UI

设置窗体后端代码

UI界面:

完整demo:https://github.com/dunitian/DNTLive/tree/master/Software/WaterWaterWaterMark
水印源码:https://github.com/dunitian/TempCode/blob/master/2016-09-22/逆天水印.psd
图标源码:https://github.com/dunitian/TempCode/blob/master/2016-09-22/Logo.psd
软件下载:http://pan.baidu.com/s/1bo34763
备用链接:链接:http://pan.baidu.com/s/1jIrvoeq 密码:zf3l
备用链接:https://github.com/dunitian/TempCode/tree/master/2016-09-22
水印第三版 ~ 变态水印(这次用Magick.NET来实现,附需求分析和源码)的更多相关文章
- 日语编程语言"抚子" - 第三版特色初探
原址: https://zhuanlan.zhihu.com/p/30800689 原文: 日语编程语言"抚子" - 第三版特色初探 它山之石可以攻玉. 学习其他的母语编程语言, ...
- 2017-11-06 日语编程语言"抚子" - 第三版特色初探
"中文编程"知乎专栏原链 原文: 日语编程语言"抚子" - 第三版特色初探 它山之石可以攻玉. 学习其他的母语编程语言, 相信对中文编程语言的设计和实践有借鉴意 ...
- Flink assignAscendingTimestamps 生成水印的三个重载方法
先简单介绍一下Timestamp 和Watermark 的概念: 1. Timestamp和Watermark都是基于事件的时间字段生成的 2. Timestamp和Watermark是两个不同的东西 ...
- 微软发布 Windows Server 2016 预览版第三版,开发者要重点关注Nano Server
微软已经发布 Windows Server 2016 和 System Center 2016 第三个技术预览版,已经提供下载.Windows Server 2016 技术预览版第三版也是首个包括了容 ...
- 0038 Java学习笔记-多线程-传统线程间通信、Condition、阻塞队列、《疯狂Java讲义 第三版》进程间通信示例代码存在的一个问题
调用同步锁的wait().notify().notifyAll()进行线程通信 看这个经典的存取款问题,要求两个线程存款,两个线程取款,账户里有余额的时候只能取款,没余额的时候只能存款,存取款金额相同 ...
- APUE学习--第三版apue编译
第三版apue编译: 1. 首先在 http://www.apuebook.com/ 下载源码解压: tar zxvf src.3e.tar.gz 看完Readme可知,直接执 ...
- Radmin Server-3.5 完美绿色破解版(x32 x64通用) 第三版 + 单文件制作方法
Radmin Server v3.5 汉化破解绿色版(x32 x64通用) 第三版 下载链接: https://pan.baidu.com/s/1qYVcSQo 2016年7月8日更新第三版1.修复在 ...
- 《CLR.via.C#第三版》第一部分读书笔记(一)
最近开始仔细研读<CLR.via.C#第三版>这本书.读pdf文档确实很累.建议有条件的朋友还是买书看吧. 我的笔记用来记录我对这本书的理解,简化下逻辑,对每个部分我觉得是要点的进行归纳总 ...
- 新浪微博.Net SDK第三版源代码和示例【最后一次更新了】
时间过得飞快,距离上次SDK更新已经3年有余.随着官方的不断跟新,老版SDK的部分接口已经不能正常使用.因此在QQ群里来吐槽的.来谩骂的朋友也开始多了起来.随着时代的发展,微博已经彻底的被微信甩开,因 ...
随机推荐
- CoreCRM 开发实录 —— Profile
再简单的功能,也需要一坨代码的支持.Profile 的编辑功能主要就是修改个人的信息.比如用户名.头像.性别.电话--虽然只是一个编辑界面,但添加下来,涉及了6个文件的修改和7个新创建的文件.各种生成 ...
- Entity Framework Core 实现MySQL 的TimeStamp/RowVersion 并发控制
将通用的序列号生成器库 从SQL Server迁移到Mysql 遇到的一个问题,就是TimeStamp/RowVersion并发控制类型在非Microsoft SQL Server数据库中的实现.SQ ...
- TODO:macOS上ThinkPHP5和Semantic-UI集成
TODO:macOS上ThinkPHP5和Semantic-UI集成 1. 全局安装 (on OSX via homebrew)Composer 是 homebrew-php 项目的一部分 2. 把X ...
- 【java】Naming.bind和Registry.bind区别
Naming类和Registry类均在java.rmi包 Naming类通过解析URI绑定远程对象,将URI拆分成主机.端口和远程对象名称,使用的仍是Registry类. public static ...
- JS与APP原生控件交互
"热更新"."热部署"相信对于混合式开发的童鞋一定不陌生,那么APP怎么避免每次升级都要在APP应用商店发布呢?这里就用到了混合式开发的概念,对于电商网站尤其显 ...
- .NET Core的日志[1]:采用统一的模式记录日志
记录各种级别的日志是所有应用不可或缺的功能.关于日志记录的实现,我们有太多第三方框架可供选择,比如Log4Net.NLog.Loggr和Serilog 等,当然我们还可以选择微软原生的诊断框架(相关A ...
- 浏览器中用JavaScript获取剪切板中的文件
本文转自我的个人网站 , 原文地址:http://www.zoucz.com/blog/2016/01/29/get-file-from-clipboard/ ,欢迎前往交流讨论 在网页上编辑内容 ...
- angular2系列教程(六)两种pipe:函数式编程与面向对象编程
今天,我们要讲的是angualr2的pipe这个知识点. 例子
- Java 经典入门(一)
一.什么是 Java 技术?为何需要 Java? Java 是由 Sun Microsystems 在 1995 年首先发布的编程语言和计算平台.有许多应用程序和 Web 站点只有在安装 Java 后 ...
- ASP.NET MVC一次删除多笔记录
批量删除数据记录,如下面的截屏: 先选中想删除的记录,然后点一下删除铵钮,系统将把选中的记录一次性删除.在此,Insus.NET不想每删除一笔记录连接一次数据库. 因此需要把选择的记录一次上传至服务器 ...









