水印第三版 ~ 变态水印(这次用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群里来吐槽的.来谩骂的朋友也开始多了起来.随着时代的发展,微博已经彻底的被微信甩开,因 ...
随机推荐
- iOS---iOS10适配iOS当前所有系统的远程推送
一.iOS推送通知简介 众所周知苹果的推送通知从iOS3开始出现, 每一年都会更新一些新的用法. 譬如iOS7出现的Silent remote notifications(远程静默推送), iOS8出 ...
- 《Django By Example》第二章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:翻译完第一章后,发现翻译第二章的速 ...
- JavaScript权威指南 - 数组
JavaScript数组是一种特殊类型的对象. JavaScript数组元素可以为任意类型,最大容纳232-1个元素. JavaScript数组是动态的,有新元素添加时,自动更新length属性. J ...
- Javascript实现HashTable类
散列算法可以尽快在数据结构中找出指定的一个值,因为可以通过Hash算法求出值的所在位置,存储和插入的时候都按照Hash算法放到指定位置. <script> function HashTab ...
- ASP.Net MVC4+Memcached+CodeFirst实现分布式缓存
ASP.Net MVC4+Memcached+CodeFirst实现分布式缓存 part 1:给我点时间,允许我感慨一下2016年 正好有时间,总结一下最近使用的一些技术,也算是为2016年画上一个完 ...
- 我这么玩Web Api(一):帮助页面或用户手册(Microsoft and Swashbuckle Help Page)
前言 你需要为客户编写Api调用手册?你需要测试你的Api接口?你需要和前端进行接口对接?那么这篇文章应该可以帮到你.本文将介绍创建Web Api 帮助文档页面的两种方式,Microsoft Help ...
- EC笔记:第4部分:22、所有成员都应该是private的
EC笔记:第4部分:22.所有成员都应该是private的 更简单的访问 用户不用记得什么时候该带上括号,什么时候不用带上括号(因为很确定的就要带上括号) 访问限制 对于public的成员变量,我们可 ...
- javascript arguments(转)
什么是arguments arguments 是是JavaScript里的一个内置对象,它很古怪,也经常被人所忽视,但实际上是很重要的.所有主要的js函数库都利用了arguments对象.所以agru ...
- BZOJ 2119: 股市的预测 [后缀数组 ST表]
2119: 股市的预测 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 331 Solved: 153[Submit][Status][Discuss ...
- 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...









