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

Last change on this file since 10337 was 10337, checked in by mistic100, 13 years ago

new version 1.4, new plugin for Charlies Content, NConvert updated

File size: 3.3 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($BlockAll)) {
11
12// CreateCustomThumbs à la priorité sur ConvertPan
13if (isset($BlockThumbnail['convert_pan']) OR !isset($BlockThumbnail)) { 
14
15        if(!isset($CCT_filesource)) $CCT_filesource = $FilesSource[$i]; // fichier de travail
16        $CCT_dimthumbnail = $CONF['Plugins']['create_custom_thumbs']['DIMthumbnailV']; // Hauteur de l'image
17        $CCT_frameparams = $CONF['Plugins']['create_custom_thumbs']['FRAMEparams']; // Paramètres du cadre
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.