Version 1.1
-réécriture de la fonction create_thumb: pour les images format portrait, les vignettes sont redimensionner à 300px de large, puis cropées à 300x200. Toutes les vignettes sont au format paysage. -quelques corrections de bugs
This commit is contained in:
@@ -201,12 +201,49 @@ function get_gps($exif) {
|
||||
|
||||
|
||||
function create_thumb($thumb_w, $thumb_h, $image) {
|
||||
global $chemin;
|
||||
|
||||
list($origin_w, $origin_h) = getimagesize($image);
|
||||
$origin_ratio = round($origin_w / $origin_h, 1);
|
||||
$outFile = str_replace("img", "thumb", $chemin) . basename($image);
|
||||
|
||||
$new_w = 300;
|
||||
$new_h = 200;
|
||||
|
||||
//$f = $chemin . $image;
|
||||
$thumb = new Imagick($image);
|
||||
|
||||
list($origin_w, $origin_h) = getimagesize($image);
|
||||
$origin_ratio = round($origin_w / $origin_h, 1);
|
||||
$outFile = str_replace("../photos/img", "../photos/thumb", $image);
|
||||
if ($origin_w != null && $origin_h != null) {
|
||||
if ($origin_w > $origin_h) {
|
||||
|
||||
$resize_w = $origin_w * $new_h / $origin_h;
|
||||
$resize_h = $new_h;
|
||||
|
||||
//$thumb->resizeImage($resize_w, $resize_h, Imagick::FILTER_LANCZOS, 0.9);
|
||||
$thumb->resizeImage($resize_w, $resize_h, Imagick::FILTER_CATROM, 0.9);
|
||||
}
|
||||
else {
|
||||
|
||||
if ($origin_w != null && $origin_h != null) {
|
||||
$resize_w = $new_w;
|
||||
$resize_h = $origin_h * $new_w / $origin_w; // 450
|
||||
|
||||
$thumb->resizeImage($resize_w, $resize_h, Imagick::FILTER_CATROM, 0.9); // 300 x 300
|
||||
$thumb->cropImage($new_w, $new_h, ($resize_w - $new_w) / 2, ($resize_h - $new_h) / 2); // (w, h, x ,y) (xy coin haut gauche) (300, 200, 0, 125)
|
||||
|
||||
}
|
||||
|
||||
//$image->sharpenimage($radius, $sigma, $channel); // 5, 1
|
||||
$thumb->sharpenimage(5, 1);
|
||||
$thumb->setImageCompression(Imagick::COMPRESSION_ZIP);
|
||||
// Set compression level (1 lowest quality, 100 highest quality)
|
||||
$thumb->setImageCompressionQuality(75);
|
||||
// Strip out unneeded meta data
|
||||
$thumb->stripImage();
|
||||
|
||||
$thumb->writeImage($outFile);
|
||||
$thumb->destroy();
|
||||
|
||||
/*
|
||||
if ($thumb_w / $thumb_h > $origin_ratio) {
|
||||
$thumb_w = $thumb_h * $origin_ratio;
|
||||
} else {
|
||||
@@ -219,8 +256,11 @@ if ($origin_w != null && $origin_h != null) {
|
||||
$image->writeImage($outFile);
|
||||
$image->destroy();
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Fonction in_bdd(): test si la photo est déjà dans la bdd
|
||||
|
||||
@@ -399,6 +439,11 @@ function data_for_lightbox($data) {
|
||||
$latitude = $data['lat'];
|
||||
$longitude = $data['long'];
|
||||
$altitude = $data['alt'];
|
||||
|
||||
$width = $data['width'];
|
||||
$height = $data['height'];
|
||||
|
||||
//echo $width . "-" . $height;
|
||||
|
||||
$gps = (!empty($longitude) && !empty($latitude)) ? $latitude . "," . $longitude : "";
|
||||
//$gps = $longitude . "," . $latitude;
|
||||
@@ -488,6 +533,8 @@ function data_for_lightbox($data) {
|
||||
$lightbox['creator'] = $creator;
|
||||
$lightbox['gps'] = $gps;
|
||||
$lightbox['description'] = $description;
|
||||
$lightbox['width'] = $width;
|
||||
$lightbox['height'] = $height;
|
||||
|
||||
/*
|
||||
Array
|
||||
|
||||
Reference in New Issue
Block a user