2017-05-24 79 views
-4

我们有一个网站,共享一些图像,不能在某个日期之前发布。用户使用用户名和密码登录。我想知道是否可以使用登录的用户名来阻止每个图像的水印共享这些图像?据我所知,网站是用java/CSS编写的。带用户名的水印图像CSS

希望这足以得到某种领先!

编辑:

看来我有信息缺乏大量...这里是更多

服务器端编程语言 微软的Active Server Pages在.NET框架技术。 ASP.NET

客户端编程语言 JavaScript是一种轻量级的,面向对象的,跨平台的脚本语言,主要用于网页内。 的JavaScript

JavaScript库 jQuery是一个JavaScript库,它简化了HTML文档遍历,事件处理,动画和Ajax交互。最初由John Resig开发。 jQuery 1.12.4 (8%的网站使用较新的版本)

Bootstrap是一个开源的HTML,CSS和JavaScript框架。 引导程序

标记语言 HTML5是HTML标准的第五个修订版本。

+0

水印可以在服务器端,而用户上传图像。 (如果你有php,那么它有一些库)。 javascript或css不会对它做任何事情,只能放在它的顶部。 –

+0

欢迎来到SO社区。目前没有足够的信息来说明您正在使用的架构或平台,以便任何人提供合理的答案。 'java/CSS'对于有经验的开发人员来说毫无意义。服务器端,你应该确定你是否使用Java,PHP,ASP.NET,ColdFusion或其他架构。 –

+0

他在说他正在使用Java,一种服务器端技术。这足以让信息能够解决这个问题。 – broodjetom

回答

0

你不能用CSS进行水印。这必须在服务器端完成,因为这是您能够处理和修改文件的地方。由于您使用的是Java,因此可能有一个库可以帮助您解决这个问题。

上传图片时是否需要添加水印。添加水印,然后保存在某个地方。

How can I watermark an image in Java?

0

基本上,你说的都是我有一个网站和问题。当然你的前台是用JS编码的,而不是你有更多的选择,并且你使用CSS来进行样式设计,并且你使用HTML来进行结构化,甚至可以使用网页的语义,对吧?

大家都可以断定这些设置:)

问题是你可能想这样做的后端(服务器端)。你还没有说明你在应用程序的那一部分中使用了什么。

如果你坚持在前端做这(使用JS),你可以使用HTML5,并呼吁帆布的新元素之一

这是一个基本的小提琴我做了,这是非常简单的:fiddle me diddle

 var canvas = document.getElementById('viewport'), 
    context = canvas.getContext('2d'); 

function drawIt() { 
    base_image = new Image(); 
    base_image.src = 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTPBj_avFTxiKBETiND86_i-xQTDOMVYEXB0kaeh3uPOTfvfA3n'; 
    context.font = "30px Georgia"; 
    context.canvas.width = 500; 
    context.canvas.height = 500; 
    context.drawImage(base_image, 0, 0); 
    context.fillText("FEAR the DERP powaa", 50, 180); 
} 

drawIt(); 

!注意 ! 任何受过教育的用户将能够得到原始图片(只是没有右键点击 - 保存图片为..)

为什么?

图像必须以原始形式从某处访问,然后放入画布。由于这种“加入”发生在用户的浏览器中,他的浏览器必须获得原始图像(没有文本),并且智能用户会知道锄头才能找到它。

这是在将图像发送到用户浏览器之前,应在服务器上执行此操作的主要原因。然后,所有浏览器看到的都是被更改的图像(带有文本)。

+0

谢谢你。我会研究这一点,并记住发送到浏览器之前应该完成的部分! –