qualité affreuse d'une miniature - PHP - Programmation
Marsh Posté le 08-09-2004 à 13:57:58
tu utilise gd ?
si c le cas je sais que tu peut utiliser gd2 pour avoir un meilleur rendu.
je v regarder mon morceau de code
tien voila ma fonction pour redim des images :
Code :
|
Marsh Posté le 08-09-2004 à 14:30:06
la solution est bonne neogally, tu fait un "ImageCreateTrueColor" alors que lui fait un "imagecreate", c'est pour ça que sa qualité est pas terrible.
Marsh Posté le 08-09-2004 à 15:01:30
Xav_ a écrit : la solution est bonne neogally, tu fait un "ImageCreateTrueColor" alors que lui fait un "imagecreate", c'est pour ça que sa qualité est pas terrible. |
+1, c'est en effet la solution.
Marsh Posté le 09-09-2004 à 00:38:31
ben pareil !
reste que pour moi systématiquement avec les imagecreatetruecolor certains logiciels de visionage d'image m'ajoute une bande de 1-2 pixels noire à droite et en dessous de l'image ...
Marsh Posté le 08-09-2004 à 13:40:17
petit probleme de creation de miniatures.
en fait la miniature est crée dans les bones dimension, mais le probleme c'est que la qualité de l'image ets affreuse
pourtant dans imagejpeg j'ai mis 100 comme niveau de qualité (pour tester).
voici le code :
---------------------------------
function CreateEtiquette($NomFichier,$ExtentionFichier){
$Image= $NomFichier;
$Source= "../Images/Photos/Originales/";
$Destination= "../Images/Photos/Miniatures/";
$ratio= 143;
if($ExtentionFichier=="gif" )
{
$src=imagecreatefromgif($Source.$Image);
}
else if($ExtentionFichier=="jpeg" || $ExtentionFichier=="jpg" )
{
$src=imagecreatefromjpeg($Source.$Image);
}
else
{
echo "Format d'image non supporté. Utilisez des *.gif ou *.jpg";
exit();
}
$size = getimagesize($Source.$Image);
if($size[0] > $size[1])
{
$im=imagecreate(round(($ratio/$size[1])*$size[0]), $ratio);
imagecopyresized($im, $src, 0, 0, 0, 0, round(($ratio/$size[1])*$size[0]),
$ratio, $size[0], $size[1]);
}
else
{
$im=imagecreate($ratio, round(($ratio/$size[0])*$size[1]));
imagecopyresized($im, $src, 0, 0, 0, 0, $ratio,round($size[1]*($ratio/$size[0])), $size[0], $size[1]);
}
$envoyer=imagejpeg($im, $Destination."mini_".$Image, 100);
if(!$envoyer)
{
print "la création de l'étiquette a echoué pout l'image $Image";
}
}