Posez votre question Signaler

Php rogner photo

oey1_1 - Dernière réponse le 8 janv. 2008 à 19:27
Bonjour,
comment peut-on rogner proprement une photo uniquement en utilisant php.
J'ai utilisé "imagecopyresampled", mais le probleme c'est que les bordures que j'ai enlevées laissent pour traces des bords noirs. Comment faire pour supprimer ces bords noirs ??
merci d'avance
Lire la suite 

Php rogner photo »

3 réponses
Réponse
+0
moins plus
t'es obligé de le faire en php?? tu peux pas utiliser un logiciel photo?
Ajouter un commentaire
Réponse
+0
moins plus
salut,
oui en effet car ce sont les photos des visiteurs et je ne peux pas tt faire a la main =p
mais j'ai trouvé ma réponse, je crois que imagecopy fonctionne bien
a+
Ajouter un commentaire
Réponse
+0
moins plus
salut,

si ça t'intéresse, j'utilise cette classe qui fonctionne parfaitement.
<?php
class Thumbnails {
	public static function ResizeImage($image, $newimage, $newwidth=0, $newheight=0) {
		if (!function_exists('ImageTypes'))
			return false;
		list($width,$height,$type) = GetImageSize($image);
		if ($im = self::ReadImageFromFile($image, $type)) {
			if ($newwidth==0)
				$newwidth = ($newheight / $height) * $width;
			else if ($newheight==0)
				$newheight = ($newwidth / $width) * $height;
			elseif ($newheight && ($width < $height))
				$newwidth = ($newheight / $height) * $width;
			else
				$newheight = ($newwidth / $width) * $height;
 
			if (function_exists('ImageCreateTrueColor'))
				$im2 = ImageCreateTrueColor($newwidth,$newheight);
			else
				$im2 = ImageCreate($newwidth,$newheight);
 
			if (function_exists('imagealphablending'))
				imagealphablending($im2, false);
			if (function_exists('imagesavealpha'))
				imagesavealpha ($im2 , true);
 
			if (function_exists('ImageCopyResampled'))
				ImageCopyResampled($im2,$im,0,0,0,0,$newwidth,$newheight,$width,$height);
			else
				ImageCopyResized($im2,$im,0,0,0,0,$newwidth,$newheight,$width,$height);
 
			if (self::WriteImageToFile($im2, $newimage, $type))
				return true;
		}
		return false;
	}
	private static function ReadImageFromFile($filename, $type) {
		$imagetypes = ImageTypes();
		switch ($type) {
			case 1 :
				if ($imagetypes & IMG_GIF)
					return $im = ImageCreateFromGIF($filename);
				break;
			case 2 :
				if ($imagetypes & IMG_JPEG)
					return ImageCreateFromJPEG($filename);
				break;
			case 3 :
				if ($imagetypes & IMG_PNG)
					return ImageCreateFromPNG($filename);
				break;
			default:
				return 0;
		}
	}
	private static function WriteImageToFile($im, $filename, $type) {
		switch ($type) {
			case 1 :
				return ImageGIF($im, $filename);
			case 2 :
				return ImageJpeg($im, $filename, 85);
			case 3 :
				return ImagePNG($im, $filename);
			default:
				return false;
		}
	}
}
?>
Ajouter un commentaire
Ce document intitulé « php rogner photo » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook