Redimensionnement d'image jpg

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Redimensionnement d'image jpg

par Moker » 15 juin 2006, 14:48

j'ai honte d'avoir fait une erreur si bete :oops:

ma fonction miniatures fait bien son travail c'etait moi qui n'avait pas créer les bon repertoires ( photos/50/ au lieu de photos/50x50/ ) merci Vorkosigan.

par contre img_resize est dans miniatures pour pouvoir créer plusieur miniatures en apelent une seule fois la fonction :
<?php 

function miniatures($img){ 

    function img_resize($img,$width,$height){ 
     
        // creation de la miniature

    } 
     
    img_resize($img,50,50); 
    img_resize($img,100,100); 
    img_resize($img,150,150); 
     
} 

miniatures("lol.jpg"); 

?> 
en tout cas merci à tous les deux :wink:

par Devether » 15 juin 2006, 13:18

Moi je ne vois pas l'interet d'avoir une fonction dans une fonction.

surtout que la fonction miniatures() n'ajoute rien par rapport a img_resize()

pourquoi est ce que tu ne fais pas :
function miniatures($img,$width,$height){
    
        // Repertoire de l'image source
        $imgpath = "photos/";
        
        // Chemin complet de l'image source
        $filename = $imgpath.$img;
        
        // Repertoire destination de la miniatiure
        $thumbs = $width."x".$height."/";
        
        // Cacul des nouvelles dimensions
        list($width_orig, $height_orig) = getimagesize($filename);
        
        if ($width && ($width_orig < $height_orig)){
            $width = ($height / $height_orig) * $width_orig;
        }else{
            $height = ($width / $width_orig) * $height_orig;
        }
        
        // Redimensionnement
        $image_p = imagecreatetruecolor($width, $height);
        $image = imagecreatefromjpeg($filename);
        imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
        
        // Creation de l'image
        imagejpeg($image_p, $imgpath.$thumbs.$img, 100);

    
}

miniatures("lol.jpg",45,45); 

Re: Redimensionnement d'image jpg

par Vorkosigan » 15 juin 2006, 12:08

est-ce que quelqu'un voit d'ou viens l'erreur ?
C'est tres simple, soit elle n'existe pas, soit elle n'est pas accessible en ecriture.
Il faudrait mettre des traces pour savoir ce qu'il en est reellement.

Redimensionnement d'image jpg

par Moker » 15 juin 2006, 11:54

Bonjour, voila je cherche à redimensionner une image dynamiquement aprés son ajout dans une base de donnée.
Pour cela j'utilise le code suivant :
<?php

function miniatures($img){

	function img_resize($img,$width,$height){
	
		// Repertoire de l'image source
		$imgpath = "photos/";
		
		// Chemin complet de l'image source
		$filename = $imgpath.$img;
		
		// Repertoire destination de la miniatiure
		$thumbs = $width."x".$height."/";
		
		// Cacul des nouvelles dimensions
		list($width_orig, $height_orig) = getimagesize($filename);
		
		if ($width && ($width_orig < $height_orig)){
			$width = ($height / $height_orig) * $width_orig;
		}else{
			$height = ($width / $width_orig) * $height_orig;
		}
		
		// Redimensionnement
		$image_p = imagecreatetruecolor($width, $height);
		$image = imagecreatefromjpeg($filename);
		imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
		
		// Creation de l'image
		imagejpeg($image_p, $imgpath.$thumbs.$img, 100);
	}
	
	img_resize($img,45,45);
	
}

miniatures("lol.jpg");

?>
Seulement j'obtient cette erreur :

Code : Tout sélectionner

Warning: imagejpeg(): Unable to open 'photos/45x45/lol.jpg' for writing in c:\program files\easyphp1-8\www\test\miniatures.php on line 27
je ne comprend pas cette miniature devrait exister grace à imagecopyresampled non ?!?

est-ce que quelqu'un voit d'ou viens l'erreur ?

Merci d'avance :lol: