watermark pour vous protéger.

Page 1 sur 2 1, 2  Suivant

Voir le sujet précédent Voir le sujet suivant Aller en bas

watermark pour vous protéger.

Message par link953 le Lun 27 Aoû 2012 - 16:20

Salut les amis.

Depuis deux ans je traîne sur des forums de jv comme gamopat. C est le seul qui me plait. J aime la communauté, l'état d esprit de celle-ci etc... Donc je m inscris. Et souvent je vois qu'on vous vol vos photos pour servir à des escrots.
Je suis pas d accord.

J ai donc réfléchi à comme faire. On pourrait poser des watermark sur nos photos. Je bosse sur un script php qui se chargera de le faire. Comme cela pas de souci pour vous. Simplement on envoi la photo au script et c est ok.

Qu'en dites vous.

Je sais pas si c est la bonne place du topic. En cas de soucis dites le moi.

Merci les amis.

link953
Patient incurable

Masculin Nombre de messages : 1724
Age : 26
Localisation : Moussy le neuf
Date d'inscription : 29/07/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par Invité le Lun 27 Aoû 2012 - 16:58

moi ca me plait :)

Invité
Invité


Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par link953 le Lun 27 Aoû 2012 - 17:18

Le but serai de protéger tout le monde. Je cherche une solution pour que tout le monde puisse en bénéficier. Et je tagerai toute la photo pour évité les découpes.

link953
Patient incurable

Masculin Nombre de messages : 1724
Age : 26
Localisation : Moussy le neuf
Date d'inscription : 29/07/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par didinedu16 le Lun 27 Aoû 2012 - 17:29

C'est une très bonne idée car je retrouve pas mal de mes photos mis sur le bon coin sans que ce soit moi qui les vendent Sad

didinedu16
Infirmier

Féminin Nombre de messages : 3851
Age : 26
Localisation : Lessac, Charente
Date d'inscription : 07/05/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par link953 le Lun 27 Aoû 2012 - 17:48

C est pas mon idée mais je souhaite donner des solutions pour nous protéger.

link953
Patient incurable

Masculin Nombre de messages : 1724
Age : 26
Localisation : Moussy le neuf
Date d'inscription : 29/07/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par didinedu16 le Lun 27 Aoû 2012 - 17:50

Bai si tu les protège sur gamopat il n'y aura plus de soucis de vole enfin si j'ai bien compris ce que tu veux faire Wink

didinedu16
Infirmier

Féminin Nombre de messages : 3851
Age : 26
Localisation : Lessac, Charente
Date d'inscription : 07/05/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par link953 le Lun 27 Aoû 2012 - 18:21

Je souhaite écrire un script qui serai à disposition de tous qui deposera un watermark sur la photo voulue.

link953
Patient incurable

Masculin Nombre de messages : 1724
Age : 26
Localisation : Moussy le neuf
Date d'inscription : 29/07/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par didinedu16 le Lun 27 Aoû 2012 - 18:28

oki Wink c est une bonne idee quand meme :)

didinedu16
Infirmier

Féminin Nombre de messages : 3851
Age : 26
Localisation : Lessac, Charente
Date d'inscription : 07/05/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par MTL le Lun 27 Aoû 2012 - 18:32

Merci pour cette initiative.

MTL
Infirmier

Masculin Nombre de messages : 3449
Age : 26
Date d'inscription : 11/11/2011

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par link953 le Lun 27 Aoû 2012 - 18:53

Je poste un début de solution ce soir!

Si le Doc pouvait me filer un petit coup de main par contre. C'est pas moi qui administre donc... Doc si tu passes Very Happy

link953
Patient incurable

Masculin Nombre de messages : 1724
Age : 26
Localisation : Moussy le neuf
Date d'inscription : 29/07/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par micka25 le Lun 27 Aoû 2012 - 19:20

pourquoi pas un script java (pas C car on utilise tous des OS différents) qu'on pourrais utiliser sur nos pc ? (enfin après je peut l'adapter à mes heures perdue quand tu l'aura fait en php ^^)
Sinon très bonne idées!

micka25
Patient incurable

Masculin Nombre de messages : 1498
Age : 36
Localisation : LOin
Date d'inscription : 07/08/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par link953 le Lun 27 Aoû 2012 - 20:07

Oui j'y avais pensé. Mais il faudrait que tout les forumeurs le télécharge l'install qu'on s'occupe des updates etc...

Mais je peux le faire. je suis plus a l'aise en C et JAVA qu'en php.

Mon scripte php est terminé.

link953
Patient incurable

Masculin Nombre de messages : 1724
Age : 26
Localisation : Moussy le neuf
Date d'inscription : 29/07/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par link953 le Lun 27 Aoû 2012 - 20:11

/*
Fonction de watermark pour le forum gamopat
*/
function watermark($img_src,$img_final,$taillelarg,$taillehaut)
{

//largueur de l'affichage
$taille_larg=$taillelarg;
//hauteur de l'affichage
$taille_haut=$taillehaut;

//récuperation de l'extension
$extension = strrchr($img_src,'.');

switch($extension){
case ".gif":
$image_s=imagecreatefromgif($img_src) or die("Erreur à l'ouverture");break;
case".png":
$image_s=imagecreatefrompng($img_src) or die("Erreur à l'ouverture");break;
case ".jpg"||".jpeg"||".jpe":
$image_s=imagecreatefromjpeg($img_src) or die("Erreur à l'ouverture");break;
}

//récuperation des dimensions de l'image principale
$width=imagesx($image_s);
$height=imagesy($image_s);

//redimention de l'image source
if($width>=$height) //visuel horizontal
{
$ratio=max($width/$taille_larg, $height/$taille_haut);
$new_width=$taille_larg;
$new_height=$height/$ratio;
}
else //visuel vertical
{
$ratio=max($width/$taille_larg, $height/$taille_haut);
$new_width=$width/$ratio;
$new_height=$taille_haut;
}

//création de l'image source redimentionnée
$thumb=imagecreatetruecolor($new_width,$new_height);
imagecopyresized($thumb,$image_s,0,0,0,0,$new_width,$new_height,$width,$height);

//dimensions de l'image principale redimentionnée
$width_thumb=imagesx($thumb);
$height_thumb=imagesy($thumb);

//création de l'image copyright
$image_c=imagecreatefrompng($img_final);

//récuperation des dimensions de l'image du copyright
$larg_cop=imagesx($image_c);
$long_cop=imagesy($image_c);

//calcul la position du copyright sur l'axe des abscisses
$x=($width_thumb-$larg_cop)/2;

//calcul la position du copyright sur l'axe des ordonnées
$y=($height_thumb-$long_cop)/2;

//réalisation de la superposition
imagecopymerge($thumb,$image_c, $x, $y, 0, 0, $larg_cop, $long_cop, 60);

//sauvegarde de l'image
switch($extension){
case ".gif":
imagegif($thumb,"./"."fili-".$img_src) or die ("Erreur de création");
break;
case".png":
imagepng($thumb,"./"."fili-".$img_src) or die ("Erreur de création");
break;
case ".jpg"||".jpeg"||".jpe":
imagejpeg($thumb,"./"."fili-".$img_src) or die ("Erreur de création");
break;
}

//libération de la mémoire
imagedestroy($image_s);
}

//appel de la fonction
filigrane('image.jpg','logo.png',800,600);

?>

link953
Patient incurable

Masculin Nombre de messages : 1724
Age : 26
Localisation : Moussy le neuf
Date d'inscription : 29/07/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par micka25 le Lun 27 Aoû 2012 - 20:22

simple et efficace ^^ après JAVA tu n'a rien à instalé tu fait ton .jar vite fait =) . Pour les maj j'avoue c'est plus cotons ^^'

micka25
Patient incurable

Masculin Nombre de messages : 1498
Age : 36
Localisation : LOin
Date d'inscription : 07/08/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par link953 le Lun 27 Aoû 2012 - 20:25

Tu sais ce qu'on pourrais faire. Un jar tout simple sans interface sans rien épuré à fond on le lance et il watermark toutes les image qu'il trouve dans le répertoire qu'en dis tu?

J'appel le Doc.

link953
Patient incurable

Masculin Nombre de messages : 1724
Age : 26
Localisation : Moussy le neuf
Date d'inscription : 29/07/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par micka25 le Lun 27 Aoû 2012 - 20:26

ou plus simple on glisse l'image dessus ou le groupe et il lit l'entré comme ça pas de soucis si ta des choses dans le dossier à ne pas touché

micka25
Patient incurable

Masculin Nombre de messages : 1498
Age : 36
Localisation : LOin
Date d'inscription : 07/08/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par link953 le Lun 27 Aoû 2012 - 20:32

Ouaip. Tu as raison! je commence le java.

Pour le php, je pense qu'une page dans un topic qui offre la possibilité d'envoyé l'image sur le serveur serai le mieux. On le traite coté serveur et on renvoi le tout à l'utilisateur.

Après le souci c'est que ça fait travaillé le serveur.

Donc oui la solution local serait la meilleurs je pense.


link953
Patient incurable

Masculin Nombre de messages : 1724
Age : 26
Localisation : Moussy le neuf
Date d'inscription : 29/07/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par micka25 le Lun 27 Aoû 2012 - 20:38

oui j'ai proposé surtout la locale à cause de ça. Et bon le coté serveur à moins de trafiqué un truc tu va être limité en nombre de fichier !

micka25
Patient incurable

Masculin Nombre de messages : 1498
Age : 36
Localisation : LOin
Date d'inscription : 07/08/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par link953 le Lun 27 Aoû 2012 - 20:42

Ouaip. J'ai été bête sur ce coup la.

link953
Patient incurable

Masculin Nombre de messages : 1724
Age : 26
Localisation : Moussy le neuf
Date d'inscription : 29/07/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par link953 le Lun 27 Aoû 2012 - 21:12

Bon alors je bosse sur une version java.

Multi-plateforme donc, je ne sais pas encore quel mode opératoire je choisirai.
Je serais pas contre un coup de main par contre.

link953
Patient incurable

Masculin Nombre de messages : 1724
Age : 26
Localisation : Moussy le neuf
Date d'inscription : 29/07/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par micka25 le Lun 27 Aoû 2012 - 21:15

ok dépend pour faire quoi =)

micka25
Patient incurable

Masculin Nombre de messages : 1498
Age : 36
Localisation : LOin
Date d'inscription : 07/08/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par link953 le Lun 27 Aoû 2012 - 21:17

Lire et tester mon code java... sa fait un moment que je pratique pas et je suis pas un pro dedans c'est surtout par passion.

link953
Patient incurable

Masculin Nombre de messages : 1724
Age : 26
Localisation : Moussy le neuf
Date d'inscription : 29/07/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par micka25 le Lun 27 Aoû 2012 - 21:19

ah ok ^^' ba poste quand ça bug ^^' j'essaierais de t'aide moi j'en ai bouffé des kilomètres...

micka25
Patient incurable

Masculin Nombre de messages : 1498
Age : 36
Localisation : LOin
Date d'inscription : 07/08/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par link953 le Lun 27 Aoû 2012 - 21:22

Premier jet.

Je me suis inspirer de beaucoup de choses. dis moi ce que tu en penses:

import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGEncodeParam;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.GradientPaint;
import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.RenderingHints;
import java.awt.Shape;
import java.awt.font.GlyphVector;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import javax.imageio.ImageIO;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletResponseWrapper;

public class WatermarkFilter implements Filter {

public void init(FilterConfig filterConfig) throws ServletException {
}

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request;
HttpServletResponse resp = (HttpServletResponse) response;
if (req.getRequestURL().toString().toLowerCase().endsWith(".jpg")) {
OrigResponseWrapper wrap = new OrigResponseWrapper(resp);
chain.doFilter(req, wrap);
if (wrap.writer != null ) wrap.writer.flush();
wrap.sos.flush();
byte[] imageData = wrap.stream.toByteArray();

BufferedImage bi = ImageIO.read(new ByteArrayInputStream(imageData));
watermark(bi, "Gamopat Forum");
byte[] resultData = encodeJPEG(bi, 90);
resp.setContentType("image/jpeg");
resp.setContentLength(resultData.length);
OutputStream os = resp.getOutputStream();
os.write(resultData);
os.close();
} else {
chain.doFilter(request, response);
}
}

public void destroy() {
}

private void watermark(BufferedImage original, String watermarkText) {
Graphics2D g2d = original.createGraphics();
g2d.scale(1, 1);
g2d.addRenderingHints(
new RenderingHints(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON));
g2d.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_ON);

Font font = new Font(Font.SANS_SERIF, Font.PLAIN, 10);
GlyphVector fontGV = font.createGlyphVector(g2d.getFontRenderContext(), watermarkText);
Rectangle size = fontGV.getPixelBounds(g2d.getFontRenderContext(), 0, 0);
Shape textShape = fontGV.getOutline();
double textWidth = size.getWidth();
double textHeight = size.getHeight();
AffineTransform rotate45 = AffineTransform.getRotateInstance(Math.PI / 4d);
Shape rotatedText = rotate45.createTransformedShape(textShape);

g2d.setPaint(new GradientPaint(0, 0,
new Color(0f, 0f, 0f, 0.1f),
original.getWidth() / 2, original.getHeight() / 2,
new Color(1f, 1f, 1f, 0.1f)));
g2d.setStroke(new BasicStroke(0.5f));

double yStep = Math.sqrt(textWidth * textWidth / 2) + 5;

for (double x = -textHeight * 3; x < original.getWidth(); x += (textHeight * 3)) {
double y = -yStep;
for (; y < original.getHeight(); y += yStep) {
g2d.draw(rotatedText);
g2d.fill(rotatedText);
g2d.translate(0, yStep);
}
g2d.translate(textHeight * 3, -(y + yStep));
}
}

private byte[] encodeJPEG(BufferedImage image, int quality) throws IOException {
ByteArrayOutputStream baos = new ByteArrayOutputStream((int) ((float) image.getWidth() * image.getHeight() / 4));
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(baos);
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(image);
quality = Math.max(0, Math.min(quality, 100));
param.setQuality((float) quality / 100.0f, false);
encoder.setJPEGEncodeParam(param);
encoder.encode(image);
byte[] result = baos.toByteArray();
baos.close();
return result;
}

private class OrigResponseWrapper extends HttpServletResponseWrapper {
protected final HttpServletResponse origResponse;
protected ServletOutputStream sos = null;
protected ByteArrayOutputStream stream = new ByteArrayOutputStream();
protected PrintWriter writer = null;

public OrigResponseWrapper(HttpServletResponse response) {
super(response);
origResponse = response;
}

public ServletOutputStream createOutputStream() throws IOException {
return sos == null ? new ServletOutputStream() {
@Override
public void write(int b) throws IOException {
stream.write(b);
}
} : sos;
}

@Override
public ServletOutputStream getOutputStream() throws IOException {
if (sos == null) {
sos = createOutputStream();
}
return sos;
}

@Override
public PrintWriter getWriter() throws IOException {
sos = getOutputStream();
if (writer == null) {
writer = new PrintWriter(sos);
}
return writer;
}
}
}

link953
Patient incurable

Masculin Nombre de messages : 1724
Age : 26
Localisation : Moussy le neuf
Date d'inscription : 29/07/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par micka25 le Lun 27 Aoû 2012 - 21:26

je suis pas contre les commentaires , mais sinon ça a l'air d'allé par contre je vois pas pourquoi tu utilise servlet ?

micka25
Patient incurable

Masculin Nombre de messages : 1498
Age : 36
Localisation : LOin
Date d'inscription : 07/08/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par link953 le Lun 27 Aoû 2012 - 21:30

Oui les commentaires... j'ai tendance à pas les mettres.

Bah écoute la comme ça, j'ai trouvé sa plus simple pour gérer le watermark.

Non?

link953
Patient incurable

Masculin Nombre de messages : 1724
Age : 26
Localisation : Moussy le neuf
Date d'inscription : 29/07/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par micka25 le Lun 27 Aoû 2012 - 21:31

aucune idée je me suis pas encore penché sur la question , je voyais ça comme un truc dédié au apli navigateur pas en local =)

micka25
Patient incurable

Masculin Nombre de messages : 1498
Age : 36
Localisation : LOin
Date d'inscription : 07/08/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par link953 le Lun 27 Aoû 2012 - 21:32

Tu as pu testé?

link953
Patient incurable

Masculin Nombre de messages : 1724
Age : 26
Localisation : Moussy le neuf
Date d'inscription : 29/07/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par micka25 le Lun 27 Aoû 2012 - 21:33

non je suis pas sur mon pc =) la tablette à pas eclipse :p (dommage)

micka25
Patient incurable

Masculin Nombre de messages : 1498
Age : 36
Localisation : LOin
Date d'inscription : 07/08/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par link953 le Lun 27 Aoû 2012 - 21:35

Une tablette !!! chanceux!

Par contre pour permettre à chacun de glisser les photos sur le jar... je vois pas.

link953
Patient incurable

Masculin Nombre de messages : 1724
Age : 26
Localisation : Moussy le neuf
Date d'inscription : 29/07/2012

Revenir en haut Aller en bas

Re: watermark pour vous protéger.

Message par Contenu sponsorisé Aujourd'hui à 7:56


Contenu sponsorisé


Revenir en haut Aller en bas

Page 1 sur 2 1, 2  Suivant

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum