CN109598667A - 一种在图片上添加水印的方法及装置 - Google Patents

一种在图片上添加水印的方法及装置 Download PDF

Info

Publication number
CN109598667A
CN109598667A CN201811457681.9A CN201811457681A CN109598667A CN 109598667 A CN109598667 A CN 109598667A CN 201811457681 A CN201811457681 A CN 201811457681A CN 109598667 A CN109598667 A CN 109598667A
Authority
CN
China
Prior art keywords
picture
watermark
drawn
processed
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811457681.9A
Other languages
English (en)
Inventor
钟望
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Beijing Kingsoft Cloud Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Cloud Network Technology Co Ltd, Beijing Kingsoft Cloud Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN201811457681.9A priority Critical patent/CN109598667A/zh
Publication of CN109598667A publication Critical patent/CN109598667A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)

Abstract

本发明实施例提供了一种在图片上添加水印的方法及装置,其中在图片上添加水印的方法应用于客户端,所述方法包括:获取所述待处理图片;将所述待处理图片的内容写入至所述客户端的画布中,得到待绘制水印图;在所述画布中为所述待绘制水印图添加水印,生成已绘制水印图片。这样在客户端可以实现在画布内生成已绘制水印图片,相较于现有技术不需要服务器的参与,这样减小了服务器的压力。

Description

一种在图片上添加水印的方法及装置
技术领域
本发明涉及图像处理技术领域,特别是涉及一种在图片上添加水印的方法及装置。
背景技术
一般企业会发表电子文件,表达与企业自身相关的信息。为了防止发表的电子文件被别人或者其他企业使用,可以以水印的方式,将企业自身的独有标识添加在发表的电子文件上,该独有标识比如企业名称或企业Logo图片标识,以防止别人或者其他企业使用。
目前相关技术中在图片上添加水印,一般采用下述方式:客户端每次需先获取未添加水印的图片,然后将未添加水印的图片上传至服务器,然后由服务器将独有标识以水印的方式添加在图片上,生成已添加水印的图片;客户端再从服务器中下载已添加水印的图片,这样所有操作均在服务器端处理,服务器需要解析图片、添加水印、生成图片等操作,增加了服务器的压力。
发明内容
本发明实施例的目的在于提供一种在图片上添加水印的方法及装置,用以解决相关技术中增加了服务器的压力的技术问题。具体技术方案如下:
第一方面,本发明实施提供了在图片上添加水印的方法,应用于客户端,所述方法包括:
获取所述待处理图片;
将所述待处理图片的内容写入至所述客户端的画布中,得到待绘制水印图;
在所述画布中为所述待绘制水印图添加水印,生成已绘制水印图片。
进一步的,所述将所述待处理图片的内容写入至所述客户端的画布中,包括:
调用所述画布;
将所述待处理图片的内容传入至所述客户端的画布中;
利用预置的画图方法,在所述画布内绘制与所述待处理图片的内容相同的图片。
进一步的,所述在所述画布中为所述待绘制水印图添加水印,生成已绘制水印图片,包括:
获取待添加标识;
利用预置的标识画入方法,将所述待添加标识以水印的方式绘制于所述待绘制水印图之内,得到带水印的图;
利用预置的图片格式处理方法,将所述带水印的图生成所述已绘制水印图片。
进一步的,在所述待添加标识为字符标识的情况下,所述预置的标识画入方法为预置的字符画入方法;
在所述待添加标识为图片标识的情况下,所述预置的标识画入方法为预置的画图方法。
进一步的,所述获取所述待处理图片,包括:
从客户端本地加载所述客户端待处理图片;
所述将所述待处理图片的内容写入至所述客户端的画布中,得到待绘制水印图,包括:
监控图片输入接口,所述图片输入接口用于监控所述客户端是否已加载待处理图片;
在所述图片输入接口监控到所述客户端已加载待处理图片的情况下,将所述待处理图片的内容传入至所述客户端的画布中;
将所述待处理图片的内容绘制在所述客户端的画布中,得到待绘制水印图。
进一步的,所述将所述待处理图片的内容写入至所述客户端的画布中,得到待绘制水印图,包括:
将所述待处理图片的内容写入至所述客户端的画布中,并压缩所述待处理图片的内容,得到待绘制水印图。
进一步的,在所述画布中为所述待绘制水印图添加水印,生成已绘制水印图片之后,所述方法还包括:
将所述已绘制水印图片填充至对应的图片标签上。
第二方面,本发明实施提供了一种在图片上添加水印的装置,应用于客户端,所述装置包括:
获取模块,用于获取所述客户端待处理图片;
写入模块,用于将所述待处理图片的内容写入至所述客户端的画布中,得到待绘制水印图;
绘制模块,用于在所述画布中为所述待绘制水印图添加水印,生成已绘制水印图片。
进一步的,所述写入模块,用于:
调用所述画布;
将所述待处理图片的内容传入至所述客户端的画布中;
利用预置的画图方法,在所述画布内绘制与所述待处理图片的内容相同的图片。
进一步的,所述绘制模块,用于:
获取待添加标识;
利用预置的标识画入方法,将所述待添加标识以水印的方式绘制于所述待绘制水印图之内,得到带水印的图;
利用预置的图片格式处理方法,将所述带水印的图生成所述已绘制水印图片。
进一步的,在所述待添加标识为字符标识的情况下,所述预置的标识画入方法为预置的字符画入方法;
在所述待添加标识为图片标识的情况下,所述预置的标识画入方法为预置的画图方法。
进一步的,所述获取模块,用于:
从客户端本地加载所述客户端待处理图片;
所述写入模块,用于:
监控图片输入接口,所述图片输入接口用于监控所述客户端是否已加载待处理图片;
在所述图片输入接口监控到所述客户端已加载待处理图片的情况下,将所述待处理图片的内容传入至所述客户端的画布中;
将所述待处理图片的内容绘制在所述客户端的画布中,得到待绘制水印图。
进一步的,所述写入模块,用于:
将所述待处理图片的内容写入至所述客户端的画布中,并压缩所述待处理图片的内容,得到待绘制水印图。
进一步的,所述装置还包括:
显示模块,用于在所述画布中为所述待绘制水印图添加水印,生成已绘制水印图片之后,将所述已绘制水印图片填充至对应的图片标签上。
第三方面,本发明实施提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面所述的方法步骤。
第四方面,本发明实施提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面任一的方法。
第五方面,本发明实施还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面任一的方法。
本发明实施例提供的一种在图片上添加水印的方法及装置,获取待处理图片;将待处理图片的内容写入至客户端的画布中,得到待绘制水印图;在画布中为待绘制水印图添加水印,生成已绘制水印图片。
由此可见,在客户端可以实现在画布内生成已绘制水印图片,相较于现有技术不需要服务器的参与,这样减小了服务器的压力。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的在图片上添加水印的方法的第一流程示意图;
图2为本发明实施例提供生成已绘制水印图片的示意图;
图3为本发明实施例客户端的html页面未加载待处理图片的显示情况的示意图;
图4为本发明实施例客户端的html页面已加载待处理图片的显示情况的示意图;
图5为本发明实施例提供在图片上添加水印的方法的第二流程示意图;
图6为本发明实施例提供在图片上添加水印的方法的第三流程示意图;
图7为本发明实施例提供导出已绘制水印图片至客户端的流程示意图;
图8为本发明实施例提供在图片上添加水印的装置的结构示意图;
图9为本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
针对相关技术增加了服务器的压力的技术问题,本发明实施例提供一种在图片上添加水印的方法及装置,该方法及装置应用于客户端,实现过程如下:
获取待处理图片;将待处理图片的内容写入至客户端的画布中,得到待绘制水印图;在画布中为待绘制水印图添加水印,生成已绘制水印图片。
由此可见,在客户端可以实现在画布内生成已绘制水印图片,相较于相关技术,不需要服务器的参与,这样减小了服务器的压力,进而客户端不需要与服务器进行交互,比如发送两次超文本传输协议(HyperText Transfer Protocol,简称http)请求,即客户端上传未添加水印的图片至服务器,以及客户端从服务器下载已绘制水印图片,这样减少客户端与服务器的交互,从而缩短了已绘制水印图片的生成时间,减少了时间成本和网络流量成本。
下面首先对本发明实施例提供的在图片上添加水印的方法进行介绍。
本发明实施例所提供的一种在图片上添加水印的方法,应用于客户端。这里的客户端与服务器相对应,并且客户端为客户提供本地服务的程序。客户端可以是浏览器端,在此不一一举例,只要能够实现本发明实施例中在图片上添加水印的方法的任何客户端,均属于本发明实施例的保护范围。
参见图1,图1为本发明实施例提供的在图片上添加水印的方法的第一流程示意图。本发明实施例所提供的在图片上添加水印的方法,应用于客户端,所述方法可以包括如下步骤:
步骤110,获取待处理图片。
本步骤110中客户端待处理图片的获取方式有多种,一种获取方式可以是拍摄得到的,另一种获取方式也可以是用户预先存储的,又一种获取方式还可以是用户实时存储的。此处仅仅是举例说明,在此不做限定。
为了能够获取待处理图片,除了上述多种获取方式以外,为了客户端能够获取到用户需要添加水印的图片(即待处理图片),以满足用户需求,本步骤110可以采用至少一种实现方式,获取待处理图片,但不限于此:
在一种实现方式中,从客户端本地加载待处理图片。
进一步的,上述客户端待处理图片的加载的实现过程如下:
第一步,接收用户需要添加水印的图片的指令。第二步,利用该需要添加水印的图片的指令,显示图片文件,其中,图片文件包含需要添加水印的图片(待处理图片);第三步,接收从图片文件中选择需要添加水印的图片的选择指令,加载选择的需要添加水印的图片,将选择的需要添加水印的图片,作为待处理图片。
这个需要添加水印的图片可以是但不限于此:已绘制水印图片,这样可以在已绘制水印图片上再添加所需的水印,重新得到已绘制水印图片;这个需要添加水印的图片也可以是但不限于此:没有绘制水印的图片,这样可以在没有绘制水印的图片上添加水印,得到已绘制水印图片,从而可以满足用户不同的需求。
上述需要添加水印的图片的存储方式可以是存储在客户端本地的图片文件中,并且这个客户端本地的图片文件可以包含但不限于此:一张以上待处理图片,这样一次可以完成一张待处理图片的处理,减少出错,也方便从客户端的图片文件中及时地得到需要添加水印的图片。此处仅仅是以客户端的图片文件可以已有多张图片进行说明。
在需要批量地加载需要添加水印的图片,并对需要添加水印的图片添加水印,如果用户从客户端本地的图片文件中一张张地选择需要添加水印的图片,那样就会增加了用户的操作,因此为了解决此问题,在另一种实现方式中,监控客户端的专用图片文件是否已有待处理图片。在监控到客户端的专用图片文件已有待处理图片的情况下,加载待处理图片。
其中,专用图片文件是根据用户需要或工业需求预先设置的一个专用添加水印的专用图片文件,用户可以将需要添加水印图片批量地放入这个专用图片文件。这样客户端就可以主动地监控这个专用图片文件是否待处理图片,如果待处理图片,就可以依次加载这些待处理图片并完成添加水印,这样客户端能够主动地获取到待处理图片,减少用户的操作,从而提高用户体验。
需要说明的是,上述客户端本地可以是客户端所在终端的本地,比如该终端的存储区域。该终端的存储区域比如内存,磁盘等但并不限定。
上述另一种实现方式是以批量地加载需要添加水印的图片进行说明,当然专用图片文件中只有一张需要添加水印的图片,实现的过程与上述实现的过程相同,在此不再说明。
步骤120,将待处理图片的内容写入至客户端的画布中,得到待绘制水印图。
上述待处理图片的内容是指用于绘图的参数,比如,待处理图片的宽和高,待处理图片的像素点及像素点位置。这样可以利用待处理图片的内容,在画布内,得到待绘制水印图。这个待绘制水印图可以是与待处理图片的内容相同的图。待绘制水印图也可以是与过滤后已有图像的内容相同的图,这个过滤后已有图像的内容是指过滤掉待处理图片的内容中不可见的内容信息。这些不可见的内容信息是指待处理图片的内容中不需要进行显示的内容信息。不可见的内容信息比如包含至少之一但不限于此:待处理图片的地点及待处理图片的时间等信息。这样可以过滤掉待处理图片的内容中不可见的内容信息,可以实现客户端对待处理图片的内容的压缩。
由本步骤120可知,将待处理图片的内容写入的位置为客户端的画布,这个画布可以使用预设脚本来完成实际的绘图任务。这里的画布可以包括,但不限于此:画布canvas。该画布canvas可以是在html页面上以标签的形式显示,即,画布canvas标签,并且该画布canvas标签用于绘图和导出图片。该画布canvas可以采用如下方式获得:在客户端的html页面可以预先内置的画布canvas。进一步的,在客户端的html页面可以预先隐藏预先内置的画布canvas,这样预先内置的画布canvas的隐藏可以使客户端的html页面更加简洁和美观,提高用户体验。但,在具体应用过程张并不一定要隐藏,是否需要使用户看到画布canvas,取决于用户的需求。
为了能够得到待绘制水印图,本步骤120可以采用如下至少一种可能的实现方式,但不限于此:
在一种可能的实现方式中,第1步,调用画布。第2步,将待处理图片的内容传入至客户端的画布中,第3步,利用预置的画图方法,在画布内绘制与待处理图片的内容相同的图片,得到待绘制水印图。这样通过调用画布利用预置的画图方法在画布内可以得到待绘制水印图。
上述预置的画布方法的预置位置可以是在画布内,这样可以直接使用画布中的内容进行绘制指定的图片;上述画图drawImage方法的预置位置也可以是在客户端内,这样客户端可以分担画布得到待绘制水印图的负担。
上述预置的画布方法是能够实现在指定位置并且按指定大小绘制指定的图片Image的画布方法。指定位置可以是指画布canvas,也可以是指待绘制水印图的内容区域。具体的指定位置可以根据实际需求决定。指定大小可以包括:预设宽及预设高。预设宽及预设高均根据用户需要或工业需要决定。指定的图片Image可以是待处理图片或者图片标识,具体的指定的图片Image可以根据实际需求决定。
示例性的,预置的画图方法可以为预置的画图drawImage方法,该预置的画图drawImage方法可以用于在指定位置并且按指定大小绘制指定的图片Image。预置的画图drawImage方法还可以用于将接收到的待处理图片的内容传入至客户端的画布时,将待处理图片中不可见的内容信息过滤掉,然后在指定位置并且按照过滤后已有图像的内容绘制指定的图片Image,以减少待处理图片的内容的大小。在此不做限定,只要能够实现本发明实施例中在画布内绘制与待处理图片的内容相同的图片,作为预置的画图方法,均属于本发明实施例的保护范围。
为了能够主动地得到待绘制水印图,在上述步骤110实现加载客户端待处理图片之后,本步骤120可以采用另一种可能的实现方式得到待绘制水印图,但不限于此:
在另一种可能的实现方式中,第1步,监控图片输入接口,图片输入接口用于监控客户端是否已加载待处理图片。在执行这个第1步时,可以并调用画布。这样可以使用画布。
其中,图片输入接口用于监控和/或加载图片,图片输入接口可以是在客户端的超文本标记语言(hyper text markup language,简称html)页面上,以输入input标签的形式显示。相当于,通过输入input标签用于从客户端读取已加载的待处理图片的html页面的标签。这里的html页面的标签是组成网页的页面的基本元素,也可以称为组件。所有的网页页面都是由一个个html页面的标签拼装成的。html页面的标签有多种,以下举例几种进行说明。
比如,标题heading标签,也称为h标签。html语言里一共有六种大小的heading标签,这六种大小的heading标签是html页面中对文本标题所进行的着重强调的一种标签。
再比如,段落标签,也称为p标签。在html语言中,<p>被定义为段落标记,文档中任何适用于段落的地方,都可以出现p标签,例如文档的主体、列表、表格等元素中。
再比如,超链接标签,也称为超链接a标签。这个<a>标签定义超链接,用于从一张html页面链接到另一张html页面。跳转地址是通过a标签的超文本链(hypertextreference,简称href)属性控制的,href属性用于指定超链接目标的统一资源定位符(Uniform Resource Locator,简称URL)。示例性的,假设超链接a的跳转地址是XX,那么这个a的转跳href属性的内容就是“https://www.XX.com”。但,当给a标签添加下载download属性后,a标签就不会再跳转,而是直接下载href属性的内容。
又比如,输入input标签,这个输入input标签是一个能从本地读取文件的html页面的标签。
还比如,画布canvas标签,这个画布canvas标签是一种能进行绘图和导出图片的html页面的标签。
还比如,图片img标签,这个img标签是一种用于展示网页图片的html页面的标签。
以上是对几种html页面的标签进行举例说明,本发明实施例主要用到超链接a标签、输入input标签、画布canvas标签、图片img标签等这些标签,在此仅说明这些标签的作用,以下详细说明这些标签的使用过程。
第2步,在图片输入接口监控到客户端是否已加载待处理图片的情况下,将待处理图片的内容传入至客户端的画布中。在执行这个第2步时,可以并压缩待处理图片的内容,可以得到待绘制水印图。这样可以主动的传入待处理图片的内容,并压缩待处理图片的内容,得到待绘制水印图,并且这个待绘制水印图的数据量小于待处理图片的数据量。
第3步,将待处理图片的内容绘制在客户端的画布中,得到待绘制水印图。这个第3步进一步的可以包括:利用预置的画图方法,在画布内绘制与待处理图片的内容相同的图片。这样在加载客户端待处理图片之后,能够主动地将待处理图片的内容传入至客户端的画布中,得到待绘制水印图,实现将待处理图片的内容自动化地传入至客户端的画布中。
上述另一种实现方式的具体实现流程举例如下:
客户端加载客户端待处理图片,通过html页面上的输入input标签监控到客户端已加载待处理图片,将待处理图片的内容传入至客户端的画布canvas;使用预置的画图drawImage方法,将待处理图片的内容绘制在客户端的画布中,得到待绘制水印图。
为了得到数据量较小的待绘制水印图,也就是小于待处理图片的数据量的待绘制水印图,就需要压缩待处理图片的内容。目前客户端在压缩图片时,每次需要先获取需要压缩图片,然后将需要压缩图片上传至服务器,然后由服务器压缩图片,并存储起来;客户端再从服务器中下载需要压缩图片,这样所有操作均在服务器端处理,增加了服务器的压力;并且压缩每一张图片都会经历上传和下载这两个过程,也增加了网络流量开销,也增加了处理时间。因此为了解决此问题,能够在客户端得到小于待处理图片的数据量的待绘制水印图,本步骤120可以采用如下一种实现方式得到待绘制水印图,但不限于此:
将待处理图片的内容写入至客户端的画布中,并压缩待处理图片的内容,得到待绘制水印图。
上述待处理图片的内容的压缩方式包括但不限于此:调小待处理图片的内容中的宽或高。相当于可以重新设置待绘制水印图的尺寸,使得待绘制水印图的数据量小于待处理图片的数据量,从而达到减小待绘制水印图体积的效果,进而得到小于待处理图片的数据量的已绘制水印图。
上述待处理图片的内容的压缩方式还包括但不限于此:过滤待处理图片的内容中不可见的内容信息,从而得到过滤后已有图像的内容。这样可以过滤掉待处理图片的内容中不可见的内容信息,可以实现客户端对待处理图片的内容的压缩。
客户端的html页面未加载待处理图片的显示情况如图3所示。为了方便客户端接收对绘制水印图片进行压缩的指令,在html页面上添加了压缩图片按钮,用户通过操作压缩图片按钮,发出对绘制水印图片进行压缩的指令,完成压缩待处理图片的内容,这样客户端就可以接收到对绘制水印图片进行压缩的指令,方便用户操作。示例性的,压缩图片按钮参见图3和图4所示。
本发明实施例依赖html页面的canvas标签,采用canvas标签的绘图和导出图片的功能,在写入待处理图片时,会将待处理图片上不可见的内容信息过滤掉,以此实现了客户端的图片压缩,减小了服务器的压力,并且减小了网络流量开销,也增少了处理时间;也可以通过对待处理图片的内容尺寸的调小,压缩了待处理图片的内容,得到待绘制水印图的数据量小于待处理图片的数据量,进而得到小于待处理图片的数据量的已绘制水印图。
无论本发明实施例执行时是否会压缩待处理图片,本发明实施例都需要为待绘制水印图添加水印来执行如下步骤130,生成已绘制水印图片。详细说明如下:
步骤130,在画布中为待绘制水印图添加水印,生成已绘制水印图片。
在画布中为待绘制水印图添加的水印可以是但不限于此:根据工业需要设置的待添加标识。这些待添加标识可以用于体现本企业独有,防止发表的图片被别人或者其他企业使用,因此任何能够实现体现本企业独有,并且防止别人或者其他企业使用的待添加标识,均属于本发明实施例的保护范围。其中,待添加标识可以包括以下至少之一,但并不限于此:字符标识及图片标识。字符标识可以为企业名称,图片标识可以为企业Logo图片,此处仅仅是举例说明,在此不做限定。
基于上述待添加标识,本步骤130可以采用至少一种实现方式,生成已绘制水印图片,但不限于此:
参见图3所示,在一种实现方式中,第131步,获取待添加标识。这里的待添加标识的获取方式可以是用户预设的,也可以用户实时写入的。此处仅仅是举例说明,在此不做限定。
第132步,利用预置的标识画入方法,将待添加标识以水印的方式绘制于待绘制水印图之内,得到带水印的图。
其中,预置的标识画入方法能够将待添加标识按照画入位置及画入大小,画入在待绘制水印图内,生成已绘制水印图片。这个预置标识画入方法的预置位置可以是在画布内,这样可以直接使用画布中的内容进行绘制指定的图片;上述画图drawImage方法的预置位置也可以是在客户端内,这样客户端可以分担画布得到带水印的图的负担。预置的标识画入方法可以包括以下之一,但并不限于此:在待添加标识为字符标识的情况下的预置的字符画入方法,以及在待添加标识为图片标识的情况下的预置的标识画入方法。
由于上述待添加标识可能是图片标识,也可能是字符标识,待添加标识可能同时包含图片标识及字符标识。在待添加标识为字符标识的情况下,为了能够将字符标识以水印的方式绘制于待绘制水印图之内,生成已绘制水印图片,上述预置的标识画入方法可以为预置的字符画入方法。上述第132步中基于字符标识,得到带水印的图,进一步的实现步骤如下:
第11步骤,获取字符标识;第12步骤,利用预置的字符画入方法,将字符标识以水印的方式绘制于待绘制水印图之内,得到带水印的图。示例性的,参见图2所示,字符标识为“金”字,这样可以将待处理图片21,生成已绘制水印图片22。
其中,预置的字符画入方法可以是能够将字符标识绘制于待绘制水印图之内的画入方法。这里的预置的字符画入方法可以是strokeText方法,strokeText方法是用于在画布canvas上画入字符。由于画布内已经有待绘制水印图,则可以在待绘制水印图上画入字符标识。
上述字符画入方法的预置位置可以是在画布内,也可以是在客户端,在此不做限定,只要能够实现本发明实施例中将待添加标识以水印的方式绘制于待绘制水印图之内,得到带水印的图的字符画入方法,均属于本发明实施例的保护范围。
在上述待添加标识为图片标识的情况下,为了能够将图片标识以水印的方式绘制于待绘制水印图之内,生成已绘制水印图片,上述预置的标识画入方法为预置的画图方法。上述第132步中基于图片标识得到带水印的图的这个实现过程,是以图像标识为处理对象,上述第132步中基于字符标识得到带水印的图的方法的上述实现过程,是以字符标识为处理对象。这个实现过程和上述实现过程除了处理对象及采用的预置的标识画入方法不同以外,其他实现步骤相同,在此不再赘述。
第133步,利用预置的图片格式处理方法,将带水印的图生成已绘制水印图片。
其中,预置的图片格式处理方法可以但不限于此:能够将带水印的图的图片格式生成已绘制水印图片的图片格式。预置的图片格式处理方法的预置位置可以是在画布内,这样可以直接使用画布中的内容进行绘制指定的图片;上述画图drawImage方法的预置位置也可以是在客户端内,这样客户端可以分担画布得到已绘制水印图片的负担。这里的预置的图片格式处理方法可以是但不限于toDataURL方法,toDataURL方法可以是预置在画布canvas内能够读取本身内容信息的方法,toDataURL方法的作用是读取画布canvas的内容,并将读取的画布canvas的内容转化为可被图片img标签识别的图片内容信息,即base64。
上述实现方式可以将待添加标识以水印的方式绘制于待绘制水印图内,得到带水印的图,利用预置的图片格式处理方法,将带水印的图,生成已绘制水印图片。
在本发明实施例中,在客户端可以实现在画布内生成已绘制水印图片,相较于现有技术不需要服务器的参与,这样减小了服务器的压力,进而客户端不需要与服务器进行交互,比如发送两次http请求,即客户端上传未添加水印的图片至服务器,以及客户端从服务器下载已绘制水印图片,这样减少客户端与服务器的交互,从而缩短了已绘制水印图片的生成时间,减少了时间成本和网络流量成本。
结合图1所示,参见图5所示,本发明实施例还提供一种可能的实现方式,在步骤130之后,所述方法还包括:
步骤140,将已绘制水印图片填充至对应的图片标签上。
本步骤140进一步可以包括:获取一个占位图片img标签,将已绘制水印图片填充至对应的占位图片img标签上,通过img标签显示已绘制水印图片。这里的img标签是用于展示网页图片的html标签。这样可以在客户端的html页面可以预置一个img标签,可以利用占位图片img标签实现已绘制水印图片的显示。
在本发明实施例中,方便显示已绘制水印图片,并且在客户端可以实现在画布内生成已绘制水印图片,相较于现有技术不需要服务器的参与,这样减小了服务器的压力,进而客户端不需要与服务器进行交互,比如发送两次http请求,即客户端上传未添加水印的图片至服务器,以及客户端从服务器下载已绘制水印图片,这样减少客户端与服务器的交互,从而缩短了已绘制水印图片的生成时间,减少了时间成本和网络流量成本。
结合图1所示,参见图6所示,本发明实施例还提供一种可能的实现方式,在步骤130之后,所述方法还包括:
步骤150,导出已绘制水印图片至客户端本地。
本步骤150进一步可以包括以下至少之一,但并不限于此:
在一种方式中,接收用于将已绘制水印图片导出至客户端本地的导出命令;基于该导出命令,导出已绘制水印图片至客户端本地。这样可以根据用户需要导出已绘制水印图片至客户端本地。
在另一种方式中,接收到已绘制水印图片的生成完成的指令,基于生成完成的指令,导出已绘制水印图片。这样可以自动地实现导出已绘制水印图片至客户端本地。
为了方便用户直接下载已绘制水印图片到本地,参见图7,在又一种方式中,具体实现过程如下
步骤151,导出已绘制水印图片的图片内容,得到导出的图片内容,并将导出的图片内容传递给超链接a标签的href属性,绘制水印图片的数据量可以小于或等于待处理图片的数据量。
步骤152,在a标签添加下载download属性,生成下载的超链接。
其中,download属性能让html页面下载时采用新的文件名称,也就是在客户端重命名下载文件,而不是链接上原始的文件名称。本步骤152中在a标签添加download属性后,由于上述步骤151中将导出的图片内容传递给超链接a标签的href属性,那么在a标签添加download属性后,直接在download属性被触发时,就会下载导出的图片内容,生成导出的图片。具体实现过程进行如下步骤153及步骤154进行说明。
步骤153,接收对下载的超链接进行点击的指令,则下载href属性中传递的导出的图片内容。
步骤154,将href属性中传递的导出的图片内容生成已绘制水印图片,并将已绘制水印图片下载到客户端本地。
为了方便用户在客户端输入点击的指令,在html页面上添加了下载的超链接,用户通过操作下载的超链接,发出上述点击的指令,这样方便用户操作。示例性的,下载的超链接参见图3和图4所示。
本发明实施例不限于一次处理一张待处理图片,可以一次上传多张待处理图片,通过html页面上的输入input标签将多张待处理图片依次加载至客户端。
在本发明实施例中,方便导出已绘制水印图片,并且在客户端可以实现在画布内生成已绘制水印图片,相较于现有技术不需要服务器的参与,这样减小了服务器的压力,进而客户端不需要与服务器进行交互,比如发送两次http请求,即客户端上传未添加水印的图片至服务器,以及客户端从服务器下载已绘制水印图片,这样减少客户端与服务器的交互,从而缩短了已绘制水印图片的生成时间,减少了时间成本和网络流量成本。
下面继续对本发明实施例提供的在图片上添加水印的装置进行介绍。
如图8所示,本发明实施例还提供一种在图片上添加水印的装置,应用于客户端,所述装置包括:
获取模块31,用于获取所述待处理图片;
写入模块32,用于将所述待处理图片的内容写入至所述客户端的画布中,得到待绘制水印图;
绘制模块33,用于在所述画布中为所述待绘制水印图添加水印,生成已绘制水印图片。
在本发明实施例中,在客户端可以实现在画布内生成已绘制水印图片,相较于现有技术不需要服务器的参与,这样减小了服务器的压力,进而客户端不需要与服务器进行交互,比如发送两次http请求,即客户端上传未添加水印的图片至服务器,以及客户端从服务器下载已绘制水印图片,这样减少客户端与服务器的交互,从而缩短了已绘制水印图片的生成时间,减少了时间成本和网络流量成本。
在一种可能的实现方式中,所述写入模块,用于:
调用所述画布;
将所述待处理图片的内容传入至所述客户端的画布中;
利用预置的画图方法,在所述画布内绘制与所述待处理图片的内容相同的图片。
在一种可能的实现方式中,所述绘制模块,用于:
获取待添加标识;
利用预置的标识画入方法,将所述待添加标识以水印的方式绘制于所述待绘制水印图之内,得到带水印的图;
利用预置的图片格式处理方法,将所述带水印的图生成所述已绘制水印图片。
在一种可能的实现方式中,在所述待添加标识为字符标识的情况下,所述预置的标识画入方法为预置的字符画入方法;
在所述待添加标识为图片标识的情况下,所述预置的标识画入方法为预置的画图方法。
在一种可能的实现方式中,所述获取模块,用于:
从客户端本地加载所述待处理图片;
所述写入模块,用于:
监控图片输入接口,所述图片输入接口用于监控所述客户端是否加载待处理图片;
在所述图片输入接口监控到所述客户端已加载待处理图片的情况下,将所述待处理图片的内容传入至所述客户端的画布中;
将所述待处理图片的内容绘制在所述客户端的画布中,得到待绘制水印图。
在一种可能的实现方式中,所述写入模块,用于,包括:
将所述待处理图片的内容写入至所述客户端的画布中,并压缩所述待处理图片的内容,得到待绘制水印图。
在一种可能的实现方式中,所述装置还包括:显示模块,用于将所述已绘制水印图片填充至对应的图片标签上。
在一种可能的实现方式中,所述装置还包括:导出模块,用于在所述画布中为所述待绘制水印图添加水印,生成已绘制水印图片之后,导出已绘制水印图片至客户端本地。
下面继续对本发明实施例提供的电子设备进行介绍。
本发明实施例还提供了一种电子设备,如图9所示,包括处理器41、通信接口42、存储器43和通信总线44,其中,处理器41,通信接口42,存储器43通过通信总线44完成相互间的通信,
存储器43,用于存放计算机程序;
处理器41,用于执行存储器43上所存放的程序时,实现如下步骤:
获取所述客户端待处理图片;
将所述待处理图片的内容写入至所述客户端的画布中,得到待绘制水印图;
在所述画布中为所述待绘制水印图添加水印,生成已绘制水印图片。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于为,图中仅用一条粗线为,但并不为仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(Non-Volatile Memory,简称NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例提供的方法可以应用于电子设备。具体的,该电子设备可以为:台式计算机、便携式计算机、智能移动终端、服务器等。在此不作限定,任何可以实现本发明的电子设备,均属于本发明的保护范围。
本发明实施例提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的在图片上添加水印的方法的步骤。
本发明实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述的在图片上添加水印的方法的步骤。
本发明实施例提供了一种计算机程序,当其在计算机上运行时,使得计算机执行上述的在图片上添加水印的方法的步骤。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置/服务器/电子设备/存储介质/包含指令的计算机程序产品/计算机程序实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (16)

1.一种在图片上添加水印的方法,其特征在于,应用于客户端,所述方法包括:
获取待处理图片;
将所述待处理图片的内容写入至所述客户端的画布中,得到待绘制水印图;
在所述画布中为所述待绘制水印图添加水印,生成已绘制水印图片。
2.如权利要求1所述的方法,其特征在于,所述将所述待处理图片的内容写入至所述客户端的画布中,包括:
调用所述画布;
将所述待处理图片的内容传入至所述客户端的画布中;
利用预置的画图方法,在所述画布内绘制与所述待处理图片的内容相同的图片。
3.如权利要求1或2所述的方法,其特征在于,所述在所述画布中为所述待绘制水印图添加水印,生成已绘制水印图片,包括:
获取待添加标识;
利用预置的标识画入方法,将所述待添加标识以水印的方式绘制于所述待绘制水印图之内,得到带水印的图;
利用预置的图片格式处理方法,将所述带水印的图生成所述已绘制水印图片。
4.如权利要求3所述的方法,其特征在于,在所述待添加标识为字符标识的情况下,所述预置的标识画入方法为预置的字符画入方法;
在所述待添加标识为图片标识的情况下,所述预置的标识画入方法为预置的画图方法。
5.如权利要求1或2所述的方法,其特征在于,
所述获取所述待处理图片,包括:
从所述客户端本地加载所述待处理图片;
所述将所述待处理图片的内容写入至所述客户端的画布中,得到待绘制水印图,包括:
监控图片输入接口,所述图片输入接口用于监控所述客户端是否已加载所述待处理图片;
在所述图片输入接口监控到所述客户端已加载所述待处理图片的情况下,将所述待处理图片的内容传入至所述客户端的画布中;
将所述待处理图片的内容绘制在所述客户端的画布中,得到待绘制水印图。
6.如权利要求1或2所述的方法,其特征在于,所述将所述待处理图片的内容写入至所述客户端的画布中,得到待绘制水印图,包括:
将所述待处理图片的内容写入至所述客户端的画布中,并压缩所述待处理图片的内容,得到待绘制水印图。
7.如权利要求1或2所述的方法,其特征在于,在所述画布中为所述待绘制水印图添加水印,生成已绘制水印图片之后,所述方法还包括:
将所述已绘制水印图片填充至对应的图片标签上。
8.一种在图片上添加水印的装置,其特征在于,应用于客户端,所述装置包括:
获取模块,用于获取所述待处理图片;
写入模块,用于将所述待处理图片的内容写入至所述客户端的画布中,得到待绘制水印图;
绘制模块,用于在所述画布中为所述待绘制水印图添加水印,生成已绘制水印图片。
9.如权利要求8所述的装置,其特征在于,所述写入模块,用于:
调用所述画布;
将所述待处理图片的内容传入至所述客户端的画布中;
利用预置的画图方法,在所述画布内绘制与所述待处理图片的内容相同的图片。
10.如权利要求8或9所述的装置,其特征在于,所述绘制模块,用于:
获取待添加标识;
利用预置的标识画入方法,将所述待添加标识以水印的方式绘制于所述待绘制水印图之内,得到带水印的图;
利用预置的图片格式处理方法,将所述带水印的图生成所述已绘制水印图片。
11.如权利要求10所述的装置,其特征在于,在所述待添加标识为字符标识的情况下,所述预置的标识画入方法为预置的字符画入方法;
在所述待添加标识为图片标识的情况下,所述预置的标识画入方法为预置的画图方法。
12.如权利要求8或9所述的装置,其特征在于,所述获取模块,用于:
从客户端本地加载所述待处理图片;
所述写入模块,用于:
监控图片输入接口,所述图片输入接口用于监控所述客户端是否已加载待处理图片;
在所述图片输入接口监控到所述客户端已加载待处理图片的情况下,将所述待处理图片的内容传入至所述客户端的画布中;
将所述待处理图片的内容绘制在所述客户端的画布中,得到待绘制水印图。
13.如权利要求8或9所述的装置,其特征在于,所述写入模块,用于:
将所述待处理图片的内容写入至所述客户端的画布中,并压缩所述待处理图片的内容,得到待绘制水印图。
14.如权利要求8或9所述的装置,其特征在于,所述装置还包括:
显示模块,用于在所述画布中为所述待绘制水印图添加水印,生成已绘制水印图片之后,将所述已绘制水印图片填充至对应的图片标签上。
15.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述存储器上所存放的程序时,实现权利要求1-7任一所述的方法步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法步骤。
CN201811457681.9A 2018-11-30 2018-11-30 一种在图片上添加水印的方法及装置 Pending CN109598667A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811457681.9A CN109598667A (zh) 2018-11-30 2018-11-30 一种在图片上添加水印的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811457681.9A CN109598667A (zh) 2018-11-30 2018-11-30 一种在图片上添加水印的方法及装置

Publications (1)

Publication Number Publication Date
CN109598667A true CN109598667A (zh) 2019-04-09

Family

ID=65959389

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811457681.9A Pending CN109598667A (zh) 2018-11-30 2018-11-30 一种在图片上添加水印的方法及装置

Country Status (1)

Country Link
CN (1) CN109598667A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110955477A (zh) * 2019-10-12 2020-04-03 中国平安财产保险股份有限公司 图像自定义方法、装置、设备及存储介质
CN112333558A (zh) * 2020-10-27 2021-02-05 江苏税软软件科技有限公司 视频文件的水印处理方法
CN112434267A (zh) * 2020-12-10 2021-03-02 北京海泰方圆科技股份有限公司 一种生成盲水印的方法、装置、介质和设备
CN113420268A (zh) * 2021-07-15 2021-09-21 南京中孚信息技术有限公司 水印添加方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107239287A (zh) * 2017-06-07 2017-10-10 福建中金在线信息科技有限公司 一种网页显示方法、装置、电子设备及存储介质
CN107464206A (zh) * 2017-07-26 2017-12-12 维沃移动通信有限公司 一种水印添加方法及移动终端
CN107766703A (zh) * 2017-09-14 2018-03-06 阿里巴巴集团控股有限公司 水印添加处理方法、装置及客户端
CN108830771A (zh) * 2018-05-17 2018-11-16 山东华软金盾软件股份有限公司 一种剪贴板图片添加水印的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107239287A (zh) * 2017-06-07 2017-10-10 福建中金在线信息科技有限公司 一种网页显示方法、装置、电子设备及存储介质
CN107464206A (zh) * 2017-07-26 2017-12-12 维沃移动通信有限公司 一种水印添加方法及移动终端
CN107766703A (zh) * 2017-09-14 2018-03-06 阿里巴巴集团控股有限公司 水印添加处理方法、装置及客户端
CN108830771A (zh) * 2018-05-17 2018-11-16 山东华软金盾软件股份有限公司 一种剪贴板图片添加水印的方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110955477A (zh) * 2019-10-12 2020-04-03 中国平安财产保险股份有限公司 图像自定义方法、装置、设备及存储介质
CN110955477B (zh) * 2019-10-12 2023-04-11 中国平安财产保险股份有限公司 图像自定义方法、装置、设备及存储介质
CN112333558A (zh) * 2020-10-27 2021-02-05 江苏税软软件科技有限公司 视频文件的水印处理方法
CN112333558B (zh) * 2020-10-27 2022-06-10 江苏税软软件科技有限公司 视频文件的水印处理方法
CN112434267A (zh) * 2020-12-10 2021-03-02 北京海泰方圆科技股份有限公司 一种生成盲水印的方法、装置、介质和设备
CN113420268A (zh) * 2021-07-15 2021-09-21 南京中孚信息技术有限公司 水印添加方法、装置、设备及存储介质
CN113420268B (zh) * 2021-07-15 2024-02-02 南京中孚信息技术有限公司 水印添加方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN109598667A (zh) 一种在图片上添加水印的方法及装置
CN104410720B (zh) 一种基于web图形的实时监控平台系统及其方法
CN107977371A (zh) 页面元素的请求方法、显示方法及客户端
DE102015101223A1 (de) Informationsverarbeitungsendgerät und steuerungsverfahren
CN108089857A (zh) 一种工业web实时监测页面的生成方法
CN107070870A (zh) 一种数据获取方法和装置
CN104243273A (zh) 即时通讯客户端显示信息的方法及设备和信息显示系统
CN105589913A (zh) 一种提取页面信息的方法及装置
CN106878361A (zh) 一种终端应用页面的调试方法、装置及客户端
CN104765746B (zh) 用于移动通讯终端浏览器的数据处理方法和装置
CN105183899A (zh) 收藏功能共享系统及方法
CN112256990B (zh) 一种图像处理方法及装置、计算机可读存储介质
CN110780868A (zh) 基于组件化模板的网站开发方法、装置、设备和存储介质
CN109885301B (zh) 一种可缩放矢量图形的生成方法、装置、存储介质和设备
CN108021583A (zh) 页面加载方法、页面操作指令的处理方法及客户端
CN107220000A (zh) 图片压缩方法和图片压缩装置
CN104732182A (zh) 在网页上基于二维码的通信方法
CN107301046A (zh) 图标的处理方法和装置、计算机设备和存储介质
CN108268260A (zh) 一种基于一体化支撑技术的快速微应用组装方法
CN108399119A (zh) 浏览服务内核引擎数据处理、自动化测试的方法和装置
CN106375454A (zh) 通过扫描图形标识上传文件的方法及系统
CN105847319A (zh) 一种移动终端网络请求方法及系统
CN106649299A (zh) 一种网页区块懒加载的方法和装置
CN101753598B (zh) 用于整合多个web应用的方法和Web应用集成器
CN105989075A (zh) 一种浏览器显示图像的方法、装置和系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190409