par
Tracker » 17 oct. 2007, 19:57
Salut,
Regarde le code qui suit, ça peut t'aider pour créer des vignettes de tailles identiques.
<?php
//
function jpegThumbNail
(
$source, // chemin du fichier source.
$target, // chemin du fichier vignette.
$szw, $szh, // taille w/h du cadre de la nouvelle image.
$padding, // $padding minimum de l'image au cadre.
$bgcolor = array(255,255,255) // couleur de fond du cadre.
)
{
$isrc = imagecreatefromjpeg($source);
$x = imagesx($isrc); $y = imagesy($isrc);
$r = (($x / $y) > ($szw / $szh)) ? $x / $szw : $y / $szh;
$dx = $padding+(int)round(($szw - $x / $r) / 2,0);
$dy = $padding+(int)round(($szh - $y / $r) / 2,0);
$itar = imagecreatetruecolor($szw,$szh);
imageantialias($itar,true);
imagefill($itar, 0, 0, imagecolorallocate($itar, $bgcolor[0], $bgcolor[1], $bgcolor[2]));
imagecopyresampled($itar, $isrc, $dx, $dy, 0, 0, $szw-2*$dx, $szh-2*$dy, $x, $y);
imagejpeg($itar, $target, 100);
imagedestroy($isrc);
imagedestroy($itar);
}
// Test
jpegThumbNail
(
'http://www.did-art.fr/todon/images/ORIG_1164367278_scrat_01.jpg',
'mini-scrat.jpg',
200, 250,
2,
array(128,128,128)
);
header('content-type: image/jpeg');
readfile('mini-scrat.jpg');
?>
Tracker.
Salut,
Regarde le code qui suit, ça peut t'aider pour créer des vignettes de tailles identiques.
[php]
<?php
//
function jpegThumbNail
(
$source, // chemin du fichier source.
$target, // chemin du fichier vignette.
$szw, $szh, // taille w/h du cadre de la nouvelle image.
$padding, // $padding minimum de l'image au cadre.
$bgcolor = array(255,255,255) // couleur de fond du cadre.
)
{
$isrc = imagecreatefromjpeg($source);
$x = imagesx($isrc); $y = imagesy($isrc);
$r = (($x / $y) > ($szw / $szh)) ? $x / $szw : $y / $szh;
$dx = $padding+(int)round(($szw - $x / $r) / 2,0);
$dy = $padding+(int)round(($szh - $y / $r) / 2,0);
$itar = imagecreatetruecolor($szw,$szh);
imageantialias($itar,true);
imagefill($itar, 0, 0, imagecolorallocate($itar, $bgcolor[0], $bgcolor[1], $bgcolor[2]));
imagecopyresampled($itar, $isrc, $dx, $dy, 0, 0, $szw-2*$dx, $szh-2*$dy, $x, $y);
imagejpeg($itar, $target, 100);
imagedestroy($isrc);
imagedestroy($itar);
}
// Test
jpegThumbNail
(
'http://www.did-art.fr/todon/images/ORIG_1164367278_scrat_01.jpg',
'mini-scrat.jpg',
200, 250,
2,
array(128,128,128)
);
header('content-type: image/jpeg');
readfile('mini-scrat.jpg');
?>
[/php]
Tracker.