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

Langage PHP Discussion :

Zoom sur une image


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Inscrit en
    Avril 2007
    Messages
    521
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 521
    Points : 167
    Points
    167
    Par défaut Zoom sur une image
    Bonjour je cherche à zoommer une image lorsqu'un utilisateur clic sur le bouton approprié. Mon idée était d'augmenter la taille d'une image en fonction d'un coefficient avec la fonction imagecreatetruecolor sauf que ça ne marche pas parceque la fonction à des paramètre int et je lui donne des float puisque mon coefficient est incrémenter de à 0.2 à chaque fois que je zoom. Voici mon code il marche lorsque mon coefficient $_SESSION['Myzoom'] est un entier sauf que mon image passe du simple au double en taille
    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
     
    		if ( !isset($_SESSION['Myzoom']) )//je teste si la variable de session 'Horizontal' existe, si elle n'existe pas je la crée (initialisation). 					 
    			$_SESSION['Myzoom'] = 1.2;
    		else //Si elle existe je l'incrémente de 0.2
    			$_SESSION['Myzoom']+=0.2;
     
    				// taille actuelle de l'image
    		        $width  = imagesx($image_p);
    				$height = imagesy($image_p);
     
    				// nouvelle image $dest5 en fonction du coofficient de Zoom $_SESSION['Myzoom']
    				$dest5   = imagecreatetruecolor($width*$_SESSION['Myzoom'],$width*$_SESSION['Myzoom']);
    				imagecopyresampled( $dest5,$image_p, 0, 0, 0, 0, $width*$_SESSION['Myzoom'],$width*$_SESSION['Myzoom'], $width, $height);
     
    				// modification de la taille de l'image qui sera affichée en fonction du coofficient de Zoom $_SESSION['Myzoom']
    				$image_p = imagecreatetruecolor($width*$_SESSION['Myzoom'],$width*$_SESSION['Myzoom']);
    				//imagecopyresampled($image_p, $dest5, 0, 0, 0, 0, $width*2, $height*2, $width*2, $height*2);
    				imagecopyresampled($image_p, $dest5, 0, 0, 0, 0, $width*$_SESSION['Myzoom'],$width*$_SESSION['Myzoom'], $width*$_SESSION['Myzoom'],$width*$_SESSION['Myzoom']);
    }
    Merci

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 21
    Points : 20
    Points
    20
    Par défaut
    A mon avis il faut que tu partes sur la piste d'avoir un entier à passer directement en argument, plutot qu'une multiplication "batarde" qui te retourne un demi pixel (par exemple).

    Tu peux toujours essayer d'arrondir en vérifiant que ce que tu as est bien un entier aprés application du coef (avec is_int() par exemple)

  3. #3
    Membre actif Avatar de BenoitDenis
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    536
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2005
    Messages : 536
    Points : 237
    Points
    237
    Par défaut
    Sinon solution beaucoup plus simple, stocker 2 images, une miniature, et une grande taille, et afficher le zoom au clic avec une colorbox sur la grande image....

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 21
    Points : 20
    Points
    20
    Par défaut
    C'est sure que c'est le plus facile et le plus beau (à voir comme IE déforme les images...).

    Par contre impossible d'effectuer des zooms multiples, ou alors il faut stocker un bon paquet de photos :/

Discussions similaires

  1. Avoir un zoom sur une image
    Par JamesP dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 26/03/2007, 16h46
  2. Zoom sur une image
    Par mariemor64 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 26/05/2006, 21h47
  3. Zoom sur une image
    Par flo456 dans le forum Général JavaScript
    Réponses: 35
    Dernier message: 19/05/2006, 08h48
  4. [débutant] zoom sur une image
    Par Anthony17 dans le forum Delphi
    Réponses: 1
    Dernier message: 16/05/2006, 23h09
  5. Zoom sur une image
    Par AurelBUD dans le forum C++Builder
    Réponses: 5
    Dernier message: 07/05/2004, 18h05

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