WebNuX.fr

un blog sur linux, le web et pleins d'autres choses

Comment ajouter un filigrane avec nodejs?

| Comments

Je me suis demandé comment faire pour incrusté un bouton play avec nodejs…

Par exemple :

Vous avez un site de vidéo et vous voulez ajouter un bouton play incrusté à la minuature de la vidéo.

Cela peut etre pour divers raison, par exemple dans mon cas je souhaite optimisé le taux de clique lorsque qu’une vidéo d’un de mes sites est partagé sur facebook ou autres réseaux sociaux. comment faire?

Dépendances

Installation

Vous devez d’abord installer easy-gd

npm install easy-gd

Exemple de code pour l’incrustation du bouton play dans une image quelconque.

(watermark.js) download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Require library
gd = require('easy-gd')

// Open an image
gd.createFrom("original.jpg", function (err, image) {
    // Resize image to fit into 480x360
    var thumb = image.resized({width: 480, height: 360})

    // Open watermark image
    gd.createFrom('watermark.png', function (err, watermark) {
        // Put the watermark at the center of the image
        thumb.watermark(watermark, {x:0.5, y:0.5})

        // Save result with target format inherited from the source image
        // {ext} gets automatically replaced with 'jpg'
        thumb.save('resized.{ext}', {jpegquality: 90}, function (err, watermark) {
            console.log('Done')
        })
    })
})

Executez le code !

node watermarking.js

Résultats

Nous avons cette image :

original

Nous voulons incruster un bouton play dans notre image (de format png pour la transparence) :

watermark

Le résultat obtenue grâce à nodejs et easy-gd :

result

Conclusion

On peut facilement intégrer ce code sur notre site en production. On peut aussi parcourir toutes les images d’un dossier et incruster le bouton play sans avoir à utiliser photoshop ou gimp.

Comments