source: extensions/PHP_Optimisateur/plugins/create_custom_thumbs/main.php @ 12819

Last change on this file since 12819 was 12819, checked in by mistic100, 12 years ago

fix detection regex and watermark position

File size: 3.5 KB
Line 
1<?php
2/***************************************\
3|            PHP OPTIMISATEUR           |
4|      Plugin CreateCustomThumbs 1.1    |
5\***************************************/
6
7## Différents traitements sur les miniatures : taille fixe & cadre (2 couleurs)
8## Dépend de la valeur de $CONF['DIMthumbnail']
9
10if(!isset($CCT_filesource)) $CCT_filesource = $FilesSource[$i];                // fichier de travail
11$CCT_dimthumbnail = $CONF['Plugins']['create_custom_thumbs']['DIMthumbnailV']; // Hauteur de l'image
12$CCT_frameparams = $CONF['Plugins']['create_custom_thumbs']['FRAMEparams'];    // Paramètres du cadre
13
14if (!isset($BlockAll)) {
15
16// CreateCustomThumbs à la priorité sur ConvertPan
17if (isset($BlockThumbnail['convert_pan']) OR !isset($BlockThumbnail)) { 
18 
19  // Miniature de taille personnalisée
20  if ($CCT_dimthumbnail != 0) {
21    $max = max($CONF['DIMthumbnail'], $CCT_dimthumbnail);
22
23    // on prend la miniature au milieu de l'image
24    if ($FileInfos['Height'] >= $FileInfos['Width']) {
25      $resize_param = $max.' 0';
26      $tmp_x = $max;
27      $tmp_y = $max * $FileInfos['Height'] / $FileInfos['Width'];
28    } else {
29      $resize_param = '0 '.$max;
30      $tmp_x = $max * $FileInfos['Width'] / $FileInfos['Height'];
31      $tmp_y = $max;
32    }
33   
34    $offset_x = ceil(($tmp_x - $CONF['DIMthumbnail']) / 2);
35    $offset_y = ceil(($tmp_y - $CCT_dimthumbnail) / 2);
36   
37    nconvert('-overwrite -q '.$CONF['Qthumbnail'].' -out jpeg -o "'.$file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg" -dpi 72 '.$CONF['convOptions'].' -resize '.$resize_param.' -crop '.$offset_x.' '.$offset_y.' '.$CONF['DIMthumbnail'].' '.$CCT_dimthumbnail.' -rmeta -rexifthumb "'.$CCT_filesource.'"');
38   
39    $BlockThumbnail['create_custom_thumbs'] = true;
40    $CCT_filesource = $file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg';
41  }
42
43  // Cadre autour de la miniature
44  if ($CCT_frameparams['size1'] != 0 OR $CCT_frameparams['size2'] != 0) {
45    // Si la miniature n'a pas encore été générée il faut le faire
46    if ($CCT_filesource == $FilesSource[$i]) {
47      nconvert('-q '.$CONF['Qthumbnail'].' -out jpeg -o "'.$file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg" -dpi 72 '.$CONF['convOptions'].' -resize '.$CONF['DIMthumbnail'].' '.$CONF['DIMthumbnail'].' -rmeta -rexifthumb "'.$FilesSource[$i].'"');
48      $CCT_filesource = $file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg';
49    }
50
51    $img = imagecreatefromjpeg($CCT_filesource);
52    $x = imagesx($img)-1;
53    $y = imagesy($img)-1;
54   
55    $colors[0] = hex2RGB($CCT_frameparams['color1']);
56    $colors[1] = hex2RGB($CCT_frameparams['color2']);
57    $colors[0] = imagecolorallocate($img, $colors[0]['r'], $colors[0]['g'], $colors[0]['b']);
58    $colors[1] = imagecolorallocate($img, $colors[1]['r'], $colors[1]['g'], $colors[1]['b']);
59
60    for ($m=0; $m<$CCT_frameparams['size1']; $m++) {
61      imagerectangle($img, $m, $m, $x-$m, $y-$m, $colors[0]);
62    }
63    for ($m=$CCT_frameparams['size1']; $m<$CCT_frameparams['size1']+$CCT_frameparams['size2']; $m++) {
64      imagerectangle($img, $m, $m, $x-$m, $y-$m, $colors[1]);
65    }
66   
67    imagejpeg($img, $file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg', $CONF['Qthumbnail']);
68    imagedestroy($img);
69   
70    $BlockThumbnail['create_custom_thumbs'] = true;
71    $CCT_filesource = $file['folder_out'].'thumbnail/'.$CONF['prefixe_mini'].$file['name'].'.jpg';
72  }
73}
74
75}
76?>
Note: See TracBrowser for help on using the repository browser.