水印第三版 ~ 变态水印(这次用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群里来吐槽的.来谩骂的朋友也开始多了起来.随着时代的发展,微博已经彻底的被微信甩开,因 ...
随机推荐
- tomcat开发远程调试端口以及利用eclipse进行远程调试
一.tomcat开发远程调试端口 方法1 WIN系统 在catalina.bat里: SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compi ...
- 关于面试题 Array.indexof() 方法的实现及思考
这是我在面试大公司时碰到的一个笔试题,当时自己云里雾里的胡写了一番,回头也曾思考过,最终没实现也就不了了之了. 昨天看到有网友说面试中也碰到过这个问题,我就重新思考了这个问题的实现方法. 对于想进大公 ...
- Visual Studio 2012远程调试中遇到的问题
有的时候开发环境没问题的代码在生产环境中会某些开发环境无法重现的问题,或者需要对生产环境代码进行远程调试该怎么办? Vs已经提供给开发者远程调试的工具 下面简单讲讲该怎么用,前期准备:1.本地登录账户 ...
- jsp页面无法识别el表达式的解决方案
今天在写一个springmvc的小demo时,碰到一个问题,在jsp页面中书写为${user.username}的表达式语言,在浏览器页面中仍然显示为${user.username},说明jsp根本不 ...
- asp.net mvc 验证码
效果图 验证码类 namespace QJW.VerifyCode { //用法: //public FileContentResult CreateValidate() //{ // Validat ...
- MediatorPattern(中介者模式)
/** * 中介者模式 * @author TMAC-J * 研究了这么多设计模式,觉得无非就是几点: * 1.若两个类有耦合关系,设立一个中间类,处理两个类的关系,把两个类的耦合降低 * 2.面向接 ...
- 「译」JUnit 5 系列:环境搭建
原文地址:http://blog.codefx.org/libraries/junit-5-setup/ 原文日期:15, Feb, 2016 译文首发:Linesh 的博客:环境搭建 我的 Gith ...
- Oracle 表空间和用户权限管理
一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...
- SQL Server中SELECT会真的阻塞SELECT吗?
在SQL Server中,我们知道一个SELECT语句执行过程中只会申请一些意向共享锁(IS) 与共享锁(S), 例如我使用SQL Profile跟踪会话86执行SELECT * FROM dbo.T ...
- Vim使用
模式 ESC\Ctrl+c:退出编辑模式 ZZ\wq:命令模式下保存退出 编辑 i:进入编辑模式 I:转到行首非空字符开始编辑 s:删除当前字符进入编辑模式 a:从当前字符后开始编辑 A:从当前行末非 ...









