Show HN: Watermark.js – Functional ES6 lib for watermarking in the browser
brianium.github.io
brianium.github.io
I can see this being useful for running as a batch process in Node/IO.js and uploading to, say, S3.
So I display watermarked images in the browser by default, primarily for convenient sharing without worrying about attribution, but make the unwatermarked images available for download if someone needs it for (b).
So this might actually be useful for my use case.
(a) Make the website quite heavier. Especially for mobile devices, old computers, etc. (b) Stops breaking with noscript. (c) Search engines won't find your watermarked photos. In order to get credit for your stuff, people need to find it to re-use it first.
However, I will reiterate it is pretty useful to watermark from a user upload. You can watermark an image from the user's local machine - upload it, then display it. All from the client. I don't believe there is any easy in circumventing this method - if there is I would love to see it :)
An potential image thief could just make his browser not run the watermarking function if he wanted. What we are essentially doing here is handing the image thief an image, and then handing him a watermark, and then telling him to watermark the image himself (with no guarantee that he will actually do so).
But using this to generate a watermark and upload it to somewhere like S3, to then display on pages is pretty sweet.
For instance, this might be utilized by a CMS plugin to support uploading images, watermarking them, and shipping them off to the cloud.
Of course, this doesn't prevent the user uploading an image that they don't have the rights to and watermarking it as if it was their own... that's a whole other subject.
But it's a good demonstration of the capabilities available in modern browsers :)
"Converts all resources into an Image object by applying the function draw. The draw function receives all resources as canvases..."
I went down the same thought process as you.. Would be useful on the server, coupled with node-canvas.
Wonder whether it would be faster / more scalable than calling out to ImageMagick to add gradients or text to an Image..
Good-looking batch watermarking is such a pain today.