水印第三版 ~ 变态水印(这次用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群里来吐槽的.来谩骂的朋友也开始多了起来.随着时代的发展,微博已经彻底的被微信甩开,因 ...
随机推荐
- ASP.NET Core 之 Identity 入门(三)
前言 在上一篇文章中,我们学习了 CookieAuthentication 中间件,本篇的话主要看一下 Identity 本身. 最早2005年 ASP.NET 2.0 的时候开始, Web 应用程序 ...
- .Net中的AOP系列之构建一个汽车租赁应用
返回<.Net中的AOP>系列学习总目录 本篇目录 开始一个新项目 没有AOP的生活 变更的代价 使用AOP重构 本系列的源码本人已托管于Coding上:点击查看. 本系列的实验环境:VS ...
- [C#] 进阶 - LINQ 标准查询操作概述
LINQ 标准查询操作概述 序 “标准查询运算符”是组成语言集成查询 (LINQ) 模式的方法.大多数这些方法都在序列上运行,其中的序列是一个对象,其类型实现了IEnumerable<T> ...
- [C#] C# 知识回顾 - 学会处理异常
学会处理异常 你可以使用 try 块来对你觉得可能会出现异常的代码进行分区. 其中,与之关联的 catch 块可用于处理任何异常情况. 一个包含代码的 finally 块,无论 try 块中是否在运行 ...
- 【NLP】前戏:一起走进条件随机场(一)
前戏:一起走进条件随机场 作者:白宁超 2016年8月2日13:59:46 [摘要]:条件随机场用于序列标注,数据分割等自然语言处理中,表现出很好的效果.在中文分词.中文人名识别和歧义消解等任务中都有 ...
- 数塔问题(DP算法)自底向上计算最大值
Input 输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1 <= N <= 100),表示数塔的高度,接下来用N行数字表示数塔,其中第i行有个i个整数 ...
- 根据ip判断返回城市名称查询当地天气
<?phpheader("content-type:text/html;charset=utf-8");date_default_timezone_set("Asi ...
- GJM : C#设计模式(1)——单例模式
感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...
- swift 中关于open ,public ,fileprivate,private ,internal,修饰的说明
关于 swift 中的open ,public ,fileprivate,private, internal的区别 以下按照修饰关键字的访问约束范围 从约束的限定范围大到小的排序进行说明 open,p ...
- 二叉树的递归实现(java)
这里演示的二叉树为3层. 递归实现,先构造出一个root节点,先判断左子节点是否为空,为空则构造左子节点,否则进入下一步判断右子节点是否为空,为空则构造右子节点. 利用层数控制迭代次数. 依次递归第二 ...









