IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[GD] Superposer 2 images


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2011
    Messages : 128
    Points : 86
    Points
    86
    Par défaut [GD] Superposer 2 images
    Bonsoir,

    A l'upload d'une image sur un site internet, je souhaite automatiquement y ajouter un logo en bas à droite.

    J'y arrive sans problème ou presque. Le seul soucis est que mon "logo" qui à la base est noir avec un fond transparent, se retrouve avec un fond blanc et des pixels de toutes les couleurs comme en témoigne la photo suivante :

    Nom : 401664.png
Affichages : 133
Taille : 4,5 Ko

    Voici le logo d'origine pour comparer :

    Nom : 401665.png
Affichages : 138
Taille : 4,0 Ko

    Voici mon script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <?php
    	$url = '../images/upload/'.md5(uniqid(rand(), true));
     
    	if(in_array($_FILES['file']['type'], array('image/jpeg', 'image/jpg'))) {
    		$url .= '.jpg';
     
    		move_uploaded_file($_FILES['file']['tmp_name'], $url);
    		$destination = imagecreatefromjpeg($url);
    	}
    	else if($_FILES['file']['type'] == 'image/png') {
    		$url .= '.png';
     
    		move_uploaded_file($_FILES['file']['tmp_name'], $url);
    		$destination = imagecreatefrompng($url);
    	}
     
    	$source = imagecreatefrompng('../images/design/griffe.png');
     
    	$largeur_source = imagesx($source);
    	$hauteur_source = imagesy($source);
    	$largeur_destination = imagesx($destination);
    	$hauteur_destination = imagesy($destination);
     
    	$destination_x = $largeur_destination - $largeur_source;
    	$destination_y =  $hauteur_destination - $hauteur_source;
     
    	imagecopymerge($destination, $source, $destination_x, $destination_y, 0, 0, $largeur_source, $hauteur_source, 100);
     
    	if(in_array($_FILES['file']['type'], array('image/jpeg', 'image/jpg'))) {
    		imagejpeg($destination, $url);
    	}
    	else if($_FILES['file']['type'] == 'image/png') {
    		imagepng($destination, $url);
    	}
    A noter que si j'upload une image png ou jpg le résultat est le même.

    Merci d'avance pour votre aide !

  2. #2
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 60
    Points : 43
    Points
    43
    Par défaut
    Peut-être que le fond de ton image est transparent ?

    Et si ça fait la même chose avec ton jpg, c'est peut être dû à ton logiciel de traitement d'image. Tu utilises Photoshop?

Discussions similaires

  1. [Graphique] Superposer 2 images
    Par morphisme dans le forum 2D
    Réponses: 4
    Dernier message: 21/07/2011, 10h58
  2. Superposer 2 images dont une transparente
    Par FloMo dans le forum 2D
    Réponses: 3
    Dernier message: 01/12/2005, 19h12
  3. Superposer 2 images
    Par Qapoka dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 27/11/2005, 18h58
  4. superposer deux images ?
    Par terminoz dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 20/08/2005, 10h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo