Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > PEAR
PEAR Forum d'entraide sur le framework PHP : PEAR. Avant de poster -> cours PEAR.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/06/2008, 12h31   #1
Membre du Club
 
Inscription : mai 2008
Messages : 53
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 53
Points : 43
Points : 43
Envoyer un message via ICQ à trashyquaker
Par défaut 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.
trashyquaker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/06/2008, 12h36   #2
Membre du Club
 
Inscription : mai 2008
Messages : 53
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 53
Points : 43
Points : 43
Envoyer un message via ICQ à trashyquaker
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
trashyquaker est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/06/2008, 08h59   #3
Membre du Club
 
Inscription : mai 2008
Messages : 53
Détails du profil
Informations forums :
Inscription : mai 2008
Messages : 53
Points : 43
Points : 43
Envoyer un message via ICQ à trashyquaker
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 :
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);
trashyquaker est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h11.


 
 
 
 
Partenaires

Hébergement Web