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 :

[PEAR] Image_Transform: Transformation d'image. D'autres packages équivalents existent? [Fait]


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 54
    Points : 62
    Points
    62
    Par défaut [PEAR] Image_Transform: Transformation d'image. D'autres packages équivalents existent?
    Bonjour,

    J'aimerais pour un site pouvoir enregistrer mes images en 2 exemplaires:

    - L'image originale telle qu'elle est envoyée par l'utilisateur

    - La même image en format réduit pour l'afficher en miniature. (Et qu'elle se charge ainsi plus vite.)


    J'ai vu qu'il existait la bibliothèque Image_Transform chez PEAR, mais apparemment le package n'est qu'en version Alpha, et il n'est pas maintenu depuis septembre 2007. Il n'y a aucune doc dessus, et après avoir inspecter le code il semblerait que certaines fonctions comme l'enregistrement des images (indispensable pour moi) ne soient pas complètes.

    Après plusieurs recherches, je n'ai rien trouvé sur un éventuel package (PEAR ou autre) équivalent.

    je viens donc ici en dernier recours pour savoir si quelqu'un a eu ce même besoin et s'il s'en est sorti? (Si oui comment? )

    Ou si quelqu'un a utilisé la bibliothèque Image_Transform, avez vous pu sauvegarder vos images transformées?

    Merci de vos réponses.

  2. #2
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 54
    Points : 62
    Points
    62
    Par défaut
    Umpf...

    Il devait falloir que je poste pour trouver une piste:
    http://mtodorovic.developpez.com/php...e_3#LIII-3.2.3

    Je vous tiens informés

  3. #3
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 54
    Points : 62
    Points
    62
    Par défaut
    Voilà juste pour clôturer le post puisque j'ai pu faire ce que je voulais grace au tutorial trouvé la dernière fois!

    Voilà mon code:
    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
    ///************************************************
    // Récupération de l'image par PEAR_HTTP_UPLOAD
    require 'HTTP/Upload.php';
    $upload = new http_upload('fr');
    $file = $upload->getFiles('file');
    if ($file->isValid()) {			
    	$tabPropertyFile = $file->getProp();
    }
    $file->setName('test.'.strtolower($tabPropertyFile['ext']));
    $dest_dir = '/images/';
    $dest_name = $file->moveTo($dest_dir);
     
    //****************************************
    //_______ MANIPULATION DE L'IMAGE PAR GD
    $fileToTransform = $dest_dir.$dest_name;
    // On ouvre l'image en fonction de son extention
    switch($tabPropertyFile['ext']){
    	case 'jpg': 
    	case 'jpeg':
    		$workImage = imagecreatefromjpeg($fileToTransform);   
    		break;
    	case 'gif':
    		$workImage = imagecreatefromgif($fileToTransform);   
    		break;
    	case 'png':
    		$workImage = imagecreatefrompng($fileToTransform);   
    		break;
    	case 'bmp':
    		$workImage = imagecreatefromwbmp($fileToTransform);   
    		break;	
    	default:
    		$workImage = imagecreatefromjpeg($fileToTransform); 
    		break;	
    }
    // Notre image est maintenant dans la variable $workImage
    // On récupère les dimension de notre image
    list($width, $height) = getimagesize($fileToTransform); 
    // Ratio de réduction d'image. On l'initialise à 1
    $ratio = 1;
    $widthResized = $width;
    $heightResized = $height;
    // On calcule quel ratio doit être appliqué à l'image pour que nous l'ayons dans les dimensions voulues
    while($widthResized > 200 and $heightResized > 150 ){
    	$ratio -= 0.05;
    	$widthResized = $ratio * $width;	
    	$heightResized = $ratio * $height;
    }
    // Une fois que l'on a les bonnes dimensions
    // On créé la nouvelle image avec les bonnes dimensions
    $imgDestination = imagecreatetruecolor($widthResized, $heightResized);
    // On copie l'image miniature à partir de la photo envoyée
    $success = imagecopyresampled($imgDestination, $workImage, 0, 0, 0, 0, $widthResized, $heightResized, $width, $height);
    if(!$success){echo '<br/> copie image KO';
    }else{echo '<br/> copie image OK';}
     
    // On la sauvegarde sur le serveur
    $folder = 'dest';
    switch(strtolower($tabPropertyFile['ext'])){
    	case 'jpg': 
    	case 'jpeg':		
    		$workImage = imagejpeg($imgDestination, $folder, 85);   
    		break;
    	case 'gif':
    		$workImage = imagegif($imgDestination, $folder, 85);     
    		break;
    	case 'png':
    		$workImage = imagepng($imgDestination, $folder, 85);    
    		break;
    	case 'bmp':
    		$workImage = imagewbmp($imgDestination, $folder, 85);   
    		break;	
    	default:
    		$workImage = imagejpeg($imgDestination, $folder, 85);    
    		break;	
    }					
    // On libère la mémoire
    imagedestroy($imgDestination);
    imagedestroy($workImage);

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [java - SQL] transformer une Image en BLOB ?
    Par pierre.zelb dans le forum JDBC
    Réponses: 3
    Dernier message: 04/07/2005, 16h04
  2. Transformation d'images avec Scanline
    Par bastien dans le forum C++Builder
    Réponses: 4
    Dernier message: 24/09/2004, 21h39
  3. Réponses: 2
    Dernier message: 03/09/2004, 18h35
  4. Comment copier un bitmap d'une image à une autre?
    Par gord's dans le forum Langage
    Réponses: 2
    Dernier message: 19/08/2003, 14h07
  5. Ajouter un jar ou un package à un autre package
    Par zoulai dans le forum JBuilder
    Réponses: 6
    Dernier message: 30/07/2003, 11h34

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