数字可见水印的添加方法及系统与流程

文档序号:12467469阅读:244来源:国知局
数字可见水印的添加方法及系统与流程

本发明涉及数字水印技术领域,尤其涉及一种数字可见水印的添加方法及系统。



背景技术:

计算机的数字化存储为信息传递提供了极大的便利性,并且提高了信息传递的效率和准确性。但随之而来的副作用是这些数字形式的数据文件在流转过程中安全性得不到任何保障,很容易通过屏幕拍照、截屏等方式进行信息的泄密。

数字可见水印通过监视器屏幕显示出来,它可以是一个电子图章图像或一行说明文本。可见水印在作品/数据(如图像或视频)上产生可见的改变,但这种改变并不严重破坏宿主数据的内容,宿主数据的视觉真实度并无显著下降。可见水印有目的地使所嵌入的水印信息为观察者所见,因此特别适合于标识版权,用于防止或阻止非法使用受版权保护的高质量图像。

如公开号为CN 103581769 A的中国专利,提出了一种用户装置,所述用户装置包括处理器,所述处理器被配置来:接收内容数据流;使用多个参数来产生水印有效负荷,所述参数包括用于表征所述内容数据流的来源的至少一个值和用户信息;向所述内容数据流插入包括所述水印有效负荷的水印,以获得加水印的内容数据流;并且,输出所述加水印的内容数据流。

上述方法将水印添加至内容数据流,从而对应的显示装置进行显示时能够将水印和内容一起显示。但是该方案内容数据流发生改变,兼容性差。



技术实现要素:

本发明所要解决的技术问题是:提供一种数字可见水印的添加方法,能够在不影响原数据流的情况下,添加数字可见水印。

为了解决上述技术问题,本发明采用的技术方案为:

一种数字可见水印的添加方法,包括:

关联进程及与所述进程对应的水印信息;

检测到需要配置水印的进程启动时,获取所述需要配置水印的进程的主窗口;

创建覆盖在所述主窗口之上的透明窗口;

依据所述需要配置水印的进程对应的水印信息在所述透明窗口上绘制水印。

本发明提供的另一个技术方案为:

一种数字可见水印的添加系统,包括:

水印配置器,用于关联进程及与所述进程对应的水印信息;

进程主窗口获取器,用于检测到需要配置水印的进程启动时,获取所述需要配置水印的进程的主窗口;

水印窗口生成器,用于创建覆盖在所述主窗口之上的透明窗口;

水印绘制器,用于依据所述需要配置水印的进程对应的水印信息在所述透明窗口上绘制水印。

本发明的有益效果在于:通过在需要配置水印的进程的主窗口上设置透明窗口,然后在透明窗口上绘制的水印,从而实现为进程添加水印的目的,相较于添加在数据内部的不可见水印,更具有约束力,有效保障数据流转的安全型,做到事先预防,事后有据可查。另外,在自创建的透明窗口上绘制水印,稳定性和兼容性更高,支持所有的具有窗口的进程,通用性强。

附图说明

图1为本发明实施例的数字可见水印的添加方法的流程图;

图2为本发明实施例的数字可见水印的添加系统的结构示意图;

图3为本发明实施例一的数字可见水印的添加方法的流程图;

图4为本发明实施例二的数字可见水印的添加系统的结构示意图。

标号说明:

1、水印配置器;2、进程主窗口获取器;3、水印窗口生成器;4、水印绘制器;5、窗口消息监视器;6、水印窗口控制器;7、水印消除器;8、结束器。

具体实施方式

为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。

本发明最关键的构思在于:在进程的主窗口上绘制透明窗口,在透明窗口上绘制水印。

请参照图1,本发明提供:

一种数字可见水印的添加方法,包括:

关联进程及与所述进程对应的水印信息;

检测到需要配置水印的进程启动时,获取所述需要配置水印的进程的主窗口;

创建覆盖在所述主窗口之上的透明窗口;

依据所述需要配置水印的进程对应的水印信息在所述透明窗口上绘制水印。

进一步的,所述透明窗口的大小及位置与所述主窗口的大小及位置一致。

从上述描述可知,透明窗口是完全覆盖于主窗口之上的,因此水印最终可以显示在主窗口的任意位置,并且可以任意绘制多个的水印,具有较高的灵活性和通用性。当然,也可以只对应主窗口的某个位置创建透明窗口,如右上角等。

进一步的,依据所述需要配置水印的进程对应的水印信息在所述透明窗口上绘制水印之后,进一步包括:

监测所述主窗口的窗口消息;

若监测到所述主窗口进行操作,则控制所述透明窗口进行与所述主窗口相同的操作;所述操作的包括:改变窗口的大小、改变窗口的位置、最大化、最小化和激活中的至少一种。

从上述描述可知,由于用户在使用进程或者进程正在进行时,可能主窗口会进行一系列操作,如主窗口最小化,而透明窗口与主窗口大小位置一致,如果透明窗口维持先前状态不变,则会出现异常显示,因此需要控制透明窗口和主窗口进行同步操作。

进一步的,采用消息钩子监测所述主窗口的窗口消息。

从上述描述可知,通过安装消息钩子WH_CALLWNDPROCRET能够有效截获主窗口的所有窗口消息,如截获的窗口消息WM_MOVE表示窗口移动,WM_SIZE表示改变窗口大小,窗口消息WM_SYSCOMMAND可以再区分最大化(SC_MAXIMIZE)或最小化(SC_MINIMIZE)消息,窗口消息WM_ACTIVATE表示激活。

进一步的,依据所述需要配置水印的进程对应的水印信息在所述透明窗口上绘制水印之后,进一步包括:

所述需要配置水印的进程关闭时或接收到关闭水印的指令时,关闭所述透明窗口。

从上述描述可知,通过关闭透明窗口实现消除水印。具体的,接收到关闭水印指令,则销毁各个有水印进程里的透明窗口;而关闭水印进程,只是销毁本进程的水印窗口。

进一步的,检测到需要配置水印的进程启动时,获取所述需要配置水印的进程的主窗口之后,创建覆盖在所述主窗口之上的透明窗口之前,进一步包括:

若获取所述主窗口失败,则结束添加水印;

若获取所述主窗口成功,则继续创建覆盖在所述主窗口之上的透明窗口。

从上述描述可知,由于主窗口是指进程里父窗口为空且窗口属性为可见的窗口,并不是所有进程都有主窗口,当某个进程配置为需要添加水印,却没有主窗口时,通过上述步骤即可结束添加水印的操作,防止因水印添加异常造成的进程运行异常等问题。

请参照图2,本发明的另一个技术方案为:

一种对应上述数字可见水印的添加方法的系统,其特征在于,包括:

水印配置器1,用于关联进程及与所述进程对应的水印信息;

进程主窗口获取器2,用于检测到需要配置水印的进程启动时,获取所述需要配置水印的进程的主窗口;

水印窗口生成器3,用于创建覆盖在所述主窗口之上的透明窗口;

水印绘制器4,用于依据所述需要配置水印的进程对应的水印信息在所述透明窗口上绘制水印。

进一步的,所述透明窗口的大小及位置与所述主窗口的大小及位置一致,所述数字可见水印的添加系统还包括:

窗口消息监视器5,用于监测所述主窗口的窗口消息;

水印窗口控制器6,用于若监测到所述主窗口进行操作,则控制所述透明窗口进行与所述主窗口相同的操作;所述操作的包括:改变窗口的大小、改变窗口的位置、最大化、最小化和激活中的至少一种。

进一步的,还包括:

水印消除器7,用于所述需要配置水印的进程关闭时或接收到关闭水印的指令时,关闭所述透明窗口。

进一步的,还包括:

结束器8,用于若获取所述主窗口失败,则结束添加水印;

若获取所述主窗口成功,则进入所述水印窗口生成器3。

请参照图3,本发明的实施例一为:

一种数字可见水印的添加方法,包括:

S1:配置需要添加的水印的进程名和水印信息;所述水印信息包括数字水印信息以及图片水印信息,数字水印信息包括:文字内容、文字大小、字体、倾斜度、颜色、透明度和间距,图片水印信息包括:图片大小、颜色、倾斜度、透明度、间距、拉伸模式;

S2:关联所述进程名和对应的水印信息;

S3:检测到需要配置水印的进程启动时,获取所述需要配置水印的进程的主窗口;所述主窗口为所述需要配置水印的进程里父窗口为空并且窗口属性为可见的窗口;如果获取到多个主窗口,就保存多个主窗口到链表中;在WINDOWS操作系统下,可以采用调用函数SetWindowsHookEx方式安装全局钩子的方式注入到进程中,然后根据进程名和进程描述可以判断该进程是否需要添加水印;可以采用枚举所有窗口的方式,枚举到父窗口为空并且窗口属性是可见的,作为进程的主窗口保存到链表之中;

S4:若获取所述主窗口失败,则结束添加水印;若获取所述主窗口成功,则进入S5;

S5:创建覆盖在所述主窗口之上的鼠标可穿透、且大小和位置与所示主窗口相同的透明窗口;在WINDOWS操作系统下,可以使用CreateWindowsEx函数创建窗口,把窗口的属性设置成全透明的、鼠标穿透的模式,并且一直覆盖在原主窗口之上,这样我们就成功的在主窗口上创建了一个透明层窗口,如果不在上面绘制水印,用户是感觉不到主窗口有任何异样;

S6:依据所述需要配置水印的进程对应的水印信息在所述透明窗口上绘制水印;在WINDOWS操作系统下,可以采用共享内存的方式,将文字水印的文字内容、文字大小、字体、倾斜度、颜色、透明度、间距,图片水印的图片大小、颜色、倾斜度、透明度、间距、拉伸模式这些信息读取到共享内存之中。可以调用WINDOWS下的GDI绘图函数,把文字或者图片绘制到窗口上,根据水印文字或图片的大小和间距把水印内容平铺到所述的透明鼠标可穿透的窗口之上;

S7:监测所述主窗口的窗口消息;若监测到所述主窗口进行操作,则控制所述透明窗口进行与所述主窗口相同的操作;所述操作的包括:改变窗口的大小、改变窗口的位置、最大化、最小化和激活中的至少一种;在WINDOWS操作系统下,可以采用安装消息钩子WH_CALLWNDPROCRET,来截获原主窗口的所有窗口消息;其中截获的窗口消息WM_MOVE表示窗口移动,WM_SIZE表示改变窗口大小,窗口消息WM_SYSCOMMAND可以再区分最大化(SC_MAXIMIZE)或最小化(SC_MINIMIZE)消息,窗口消息WM_ACTIVATE表示激活;

S8:接收到关闭水印指令,则销毁各个有水印进程里的透明窗口;关闭水印进程时,销毁本进程的透明窗口。该关闭水印指令由具有权限的人员发送,如系统管理员;

下面是本发明的一个具体应用场景:

某机关单位里的计算机的网络是隔离的,并且USB等外接端口也是不可用的,但是内部一些机密的电子文件,如word文档,可以通过用office工具打开,然后通过手机拍照泄露出去。采用上述实施例一的方案,可以在计算机打开word文件的窗口上配置一个半透明的水印,水印的内容可以根据配置(如计算机名、IP、MAC等),这样一来用户就不敢随意拍照引起文件内容泄露,就算泄露了,由于照片上含有水印信息,也可以查出是在哪一台计算机上泄露出去的。

请参照图4,本发明的实施例二为:

一种与上述实施例一的数字可见水印的添加方法对应的系统,包括:

水印配置器1,用于关联进程及与所述进程对应的水印信息;

进程主窗口获取器2,用于检测到需要配置水印的进程启动时,获取所述需要配置水印的进程的主窗口;

结束器8,用于若获取所述主窗口失败,则结束添加水印;

若获取所述主窗口成功,则进入所述水印窗口生成器3。

水印窗口生成器3,用于创建覆盖在所述主窗口之上的鼠标可穿透的透明窗口;所述透明窗口的大小及位置与所述主窗口的大小及位置一致;

水印绘制器4,用于依据所述需要配置水印的进程对应的水印信息在所述透明窗口上绘制水印;

窗口消息监视器5,用于监测所述主窗口的窗口消息;

水印窗口控制器6,用于若监测到所述主窗口进行操作,则控制所述透明窗口进行与所述主窗口相同的操作;所述操作的包括:改变窗口的大小、改变窗口的位置、最大化、最小化和激活中的至少一种。

水印消除器7,用于所述需要配置水印的进程关闭时或接收到关闭水印的指令时,关闭所述透明窗口。

综上所述,本发明提供的数字可见水印的添加方法及系统,能够对需要配置的进程添加可见水印,有效保障数据流转的安全性,并且具有很强的稳定性和兼容性,支持所有的有窗口的进程,通用性强。

以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1