GAMOPAT
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

watermark pour vous protéger.

3 participants

Page 1 sur 2 1, 2  Suivant

Aller en bas

watermark pour vous protéger.  Empty watermark pour vous protéger.

Message par link953 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
link953
Patient incurable

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

Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

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

moi ca me plait :)
avatar
Invité
Invité


Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

Message par link953 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
link953
Patient incurable

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

Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

Message par didinedu16 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
didinedu16
Infirmier

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

Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

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

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

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

Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

Message par didinedu16 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
didinedu16
Infirmier

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

Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

Message par link953 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
link953
Patient incurable

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

Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

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

oki Wink c est une bonne idee quand meme :)
didinedu16
didinedu16
Infirmier

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

Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

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

Merci pour cette initiative.
MTL
MTL
Infirmier

Masculin Nombre de messages : 3521
Age : 34
Date d'inscription : 11/11/2011

Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

Message par link953 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
link953
Patient incurable

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

Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

Message par Invité 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!
avatar
Invité
Invité


Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

Message par link953 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
link953
Patient incurable

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

Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

Message par link953 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
link953
Patient incurable

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

Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

Message par Invité 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 ^^'
avatar
Invité
Invité


Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

Message par link953 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
link953
Patient incurable

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

Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

Message par Invité 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é
avatar
Invité
Invité


Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

Message par link953 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
link953
Patient incurable

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

Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

Message par Invité 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 !
avatar
Invité
Invité


Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

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

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

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

Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

Message par link953 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
link953
Patient incurable

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

Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

Message par Invité Lun 27 Aoû 2012 - 21:15

ok dépend pour faire quoi =)
avatar
Invité
Invité


Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

Message par link953 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
link953
Patient incurable

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

Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

Message par Invité 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...
avatar
Invité
Invité


Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

Message par link953 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
link953
Patient incurable

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

Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

Message par Invité 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 ?
avatar
Invité
Invité


Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

Message par link953 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
link953
Patient incurable

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

Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

Message par Invité 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 =)
avatar
Invité
Invité


Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

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

Tu as pu testé?
link953
link953
Patient incurable

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

Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

Message par Invité Lun 27 Aoû 2012 - 21:33

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


Revenir en haut Aller en bas

watermark pour vous protéger.  Empty Re: watermark pour vous protéger.

Message par link953 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
link953
Patient incurable

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

Revenir en haut Aller en bas

Page 1 sur 2 1, 2  Suivant

Revenir en haut


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