水印第三版 ~ 变态水印(这次用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.逆天通用水印扩展篇~新增剪贴板系列的功能和手动配置,卸除原基础不常用的功能

http://www.cnblogs.com/dunitian/p/5377097.html

朋友在婚纱影楼工作,在一次交流中发现ta每天弄图片水印都好几个小时,于是逆天就说了一句牛逼的话:“ 程序员没啥用,也就把你们每天重复又耗时的事变成每天点两下 ~ ”,本来是想这句话说的不怎么准确,有些人肯定说不用电脑看你怎么点两下来完成,后来一想。。。也的确是呀~~反正就是点两下完成,你不用电脑你用机器人也一样滴,人能干的机器人也能干,机器人也需要程序员的程序,那么还不是点两下按钮就完成了~~~~所以说嘛:得程序员者得天下~

装逼结束,步入正规~

分析一下需求:要求是两种颜色的水印,一种是白色(针对深色背景图)一种是黑色(针对浅色背景图),必须全部铺满,水印透明度需要时不时的变更

一看到这个需求瞬间 "噗" 了一下,(-?-;) 不愧是专门搞PS的人,一个水印都这么到位,基本上水印完了别人也不太想盗图了。。。

看效果:(可以点开图片看)

原图:

水印效果:(白色)

水印效果:(黑色)

1.先看看逆天自己P的一张水印图(还好没忘记以前在学校里面捣鼓的东西)【源码会一起发】

2.代码分析:

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

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

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

待续。。。。

核心点:

时间: 2024-10-13 15:04:46

水印第三版 ~ 变态水印(这次用Magick.NET来实现,附需求分析和源码)的相关文章

水印第四版 ~ 非人水印(添加人脸识别)

说起这个人脸识别,还真有点缘分.记得逆天以前在学生时代参加创新大赛的时候,题目就是人脸识别打卡 解决别人替人打卡的问题,想想看,要是用微软的faceapi那还不是很容易实现的? 好了,不扯淡了,上次概述了下水印情缘:http://www.cnblogs.com/dunitian/p/6232074.html 一张图概括: 额,这次先看下效果,然后普及一些开发过程中的知识点,然后介绍一下微软的FaceAPI ==>原来的功能依旧在,非人脸识别,请在消息框中选择否 不要求人脸识别的就选否,每个月Ap

关于this的例子解说:引用高级程序第三版中的代码 this在ECMA中介绍的比较复杂。很多我都没看懂。

想要了解THIs的值如何变化的要了解很多知识点.这里我就简单点介绍下this的值如何变化的. 10.1.6 活动对象 当控制进入函数代码的执行上下文时,创建一个活动对象并将它与该执行上下文相关联, 并使用一个名为 arguments.特征为 { DontDelete } 的属性初始化该对象.该属性的初始值是 稍后将要描述的一个参数对象. 接下来,这个活动对象将被用作变量初始化的可变对象. 活动对象纯粹是一种规范性机制,在 ECMAScript 访问它是不可能的.只能访问其成员而 非该活动对象本身

Unix网络编程第三版源码编译

配置: $ cd Unix-Network-Programming/ $ chmod 755 configure $ ./configure 主要的工作是检查系统是否有源码编译所依赖的各种资源(系统版本是否匹配.编译器.库文件.头文件以及结构体定义等等) checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking for

问题 1018: C语言程序设计教程(第三版)课后习题6.8

/******************************************************************** @file Main.cpp @date 2017-05-12 @author Zoro_Tiger @brief 问题 1018: C语言程序设计教程(第三版)课后习题6.8 http://www.dotcpp.com/oj/problem1018.html *************************************************

Linux - Unix环境高级编程(第三版) 代码编译

Unix环境高级编程(第三版) 代码编译 本文地址:http://blog.csdn.net/caroline_wendy 时间:2014.10.2 1. 下载代码:http://www.apuebook.com/code3e.html 2. 安装依赖库:sudo apt-get install libbsd-dev  3. 进入下载目录make 4. 复制头文件和动态链接库 sudo cp ./include/apue.h /usr/include/ sudo cp ./lib/libapue

Java 线程第三版 第四章 Thread Notification 读书笔记

一.等待与通知 public final void wait() throws InterruptedException 等待条件的发生. public final void wait(long timeout) throws InterruptedException 等待条件的发生.如果通知没有在timeout指定的时间内发生,它还是会返回. public final void wait(long timeout, int nanos) throws InterruptedException

问题 1041: C语言程序设计教程(第三版)课后习题9.8

/******************************************************************** @file Main.cpp @date 2017-05-28 22:02:55 @author Zoro_Tiger @brief 问题 1041: C语言程序设计教程(第三版)课后习题9.8 http://www.dotcpp.com/oj/problem1041.html ****************************************

问题 1040: C语言程序设计教程(第三版)课后习题9.6

/******************************************************************** @file Main.cpp @date 2017-05-28 21:57:02 @author Zoro_Tiger @brief 问题 1040: C语言程序设计教程(第三版)课后习题9.6 http://www.dotcpp.com/oj/problem1040.html ****************************************

问题 1042: C语言程序设计教程(第三版)课后习题9.10

/******************************************************************** @file Main.cpp @date 2017-05-28 22:10:10 @author Zoro_Tiger @brief 问题 1042: C语言程序设计教程(第三版)课后习题9.10 http://www.dotcpp.com/oj/problem1042.html ***************************************