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

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

[tools] PHP Optimisateur :

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