Changeset 61760 in spip-zone


Ignore:
Timestamp:
May 27, 2012, 9:03:43 PM (7 years ago)
Author:
kent1@…
Message:

Cette version est une version de transition vers une compatibilité avec SPIP 3.0

On repasse en dev

On supprime le nécessite de CFG

On rajoute un nécessite pour spip-bonux qui gèrera la conf

On vire ce qui correspond à imagick pour PHP4 car SPIP 3.0 n'est compat que PHP5

On passe en version 1.2.0

Location:
_plugins_/doc2img/trunk
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/doc2img/trunk/inc/doc2img_convertir.php

    r61753 r61760  
    6464             */
    6565            if (class_exists('Imagick')) {
    66                 $version = '2.x';
    6766                $image = new Imagick($document['source_url']['absolute'].$document['fullname']);
    6867                $identify = $image->identifyImage();
     
    7271                $image->destroy();
    7372            } else {
    74                 $version = '0.9';
    75                 $handle = imagick_readimage($document['source_url']['absolute'].$document['fullname']);
    76                 $nb_pages = imagick_getlistsize($handle);
     73                spip_log('Erreur Doc2Img : La class doc2img n est pas disponible');
     74                return false;
    7775            }
    7876
     
    8886                        spip_log("Conversion de la page $frame",'doc2img');
    8987                        //on accede à la page $frame
    90                         if ($version == '0.9') {
    91                             imagick_goto($handle, $frame);
    92                             $handle_frame = @imagick_getimagefromlist($handle);
    93                         } else {
    94                                 $image_frame = new Imagick();
    95                                 if(is_numeric($resolution) && ($resolution <= '600') && ($resolution > $identify['resolution']['x'])){
    96                                         $image_frame->setResolution($resolution,$resolution);
    97                                 }
    98                                         $image_frame->readImage($document['source_url']['absolute'].$document['fullname'].'['.$frame.']');
    99                                         $image_frame->setImageFormat($config['format_cible']);
    100                                         if(is_numeric($config['compression']) && ($config['compression'] > 50) && ($config['compression'] <= 100)){
    101                                                 $image_frame->setImageCompressionQuality($config['compression']);
    102                                         }
    103                             $handle_frame = $image_frame;
    104                         }
     88                        $image_frame = new Imagick();
     89                        if(is_numeric($resolution) && ($resolution <= '600') && ($resolution > $identify['resolution']['x'])){
     90                                $image_frame->setResolution($resolution,$resolution);
     91                        }
     92                                $image_frame->readImage($document['source_url']['absolute'].$document['fullname'].'['.$frame.']');
     93                                $image_frame->setImageFormat($config['format_cible']);
     94                                if(is_numeric($config['compression']) && ($config['compression'] > 50) && ($config['compression'] <= 100)){
     95                                        $image_frame->setImageCompressionQuality($config['compression']);
     96                                }
     97                    $handle_frame = $image_frame;
    10598       
    10699                        //calcule des dimensions
    107                         $dimensions = doc2img_ratio($handle_frame,$version,$config);
     100                        $dimensions = doc2img_ratio($handle_frame,$config);
    108101       
    109102                        //nom du fichier cible, c'est à dire la frame (image) indexée
     
    111104       
    112105                        //on sauvegarde la page
    113                         if ($version == '0.9') {
    114                                 //on redimensionne l'image
    115                                 imagick_zoom($handle_frame, $dimensions['largeur'], $dimensions['hauteur']);
    116                             imagick_writeimage($handle_frame, $document['cible_url']['absolute'].$document['frame']);
    117                             $taille = filesize($document['cible_url']['absolute'].$document['frame']);
    118        
    119                         } else {
    120                                 //$image_frame->resizeImage($dimensions['largeur'], $dimensions['hauteur'],Imagick::FILTER_LANCZOS,1);
    121                             $image_frame->writeImage($document['cible_url']['absolute'].$document['frame']);
    122                             $taille = filesize(get_spip_doc(set_spip_doc($document['cible_url']['relative'].$document['frame'])));
    123                         }
     106                       
     107                        //$image_frame->resizeImage($dimensions['largeur'], $dimensions['hauteur'],Imagick::FILTER_LANCZOS,1);
     108                    $image_frame->writeImage($document['cible_url']['absolute'].$document['frame']);
     109                    $taille = filesize(get_spip_doc(set_spip_doc($document['cible_url']['relative'].$document['frame'])));
    124110       
    125111                        $largeur = $dimensions['largeur'];
     
    155141                        }
    156142                        //on libère la frame
    157                         if ($version == '0.9') {
    158                             imagick_free($handle_frame);
    159                         } else {
    160                             $image_frame->clear();
    161                             $image_frame->destroy();
    162                         }
     143                    $image_frame->clear();
     144                    $image_frame->destroy();
    163145                        $frame++;
    164146                    } while($frame < $nb_pages );
     
    167149                        spip_log("Conversion de la page $frame",'doc2img');
    168150                        //on accede à la page $frame
    169                         if ($version == '0.9') {
    170                             imagick_goto($handle, $frame);
    171                             $handle_frame = @imagick_getimagefromlist($handle);
    172                         } else {
    173                                 $image_frame = new Imagick();
    174                                 if(is_numeric($resolution) && ($resolution <= '600') && ($resolution > $identify['resolution']['x'])){
    175                                         $image_frame->setResolution($resolution,$resolution);
    176                                 }
    177                                         $image_frame->readImage($document['source_url']['absolute'].$document['fullname'].'['.$frame.']');
    178                                         $image_frame->setImageFormat($config['format_cible']);
    179                                         if(is_numeric($config['compression']) && ($config['compression'] > 50) && ($config['compression'] <= 100)){
    180                                                 $image_frame->setImageCompressionQuality($config['compression']);
    181                                         }
    182                             $handle_frame = $image_frame;
    183                         }
     151                        $image_frame = new Imagick();
     152                        if(is_numeric($resolution) && ($resolution <= '600') && ($resolution > $identify['resolution']['x'])){
     153                                $image_frame->setResolution($resolution,$resolution);
     154                        }
     155                                $image_frame->readImage($document['source_url']['absolute'].$document['fullname'].'['.$frame.']');
     156                                $image_frame->setImageFormat($config['format_cible']);
     157                                if(is_numeric($config['compression']) && ($config['compression'] > 50) && ($config['compression'] <= 100)){
     158                                        $image_frame->setImageCompressionQuality($config['compression']);
     159                                }
     160                    $handle_frame = $image_frame;
    184161       
    185162                        //calcule des dimensions
    186                         $dimensions = doc2img_ratio($handle_frame,$version,$config);
     163                        $dimensions = doc2img_ratio($handle_frame,$config);
    187164       
    188165                        //nom du fichier cible, c'est à dire la frame (image) indexée
     
    190167       
    191168                        //on sauvegarde la page
    192                         if ($version == '0.9') {
    193                                 //on redimensionne l'image
    194                                 imagick_zoom($handle_frame, $dimensions['largeur'], $dimensions['hauteur']);
    195                             imagick_writeimage($handle_frame, $document['cible_url']['absolute'].$document['frame']);
    196                             $taille = filesize($document['cible_url']['absolute'].$document['frame']);
    197        
    198                         } else {
    199                                 //$image_frame->resizeImage($dimensions['largeur'], $dimensions['hauteur'],Imagick::FILTER_LANCZOS,1);
    200                             $image_frame->writeImage($document['cible_url']['absolute'].$document['frame']);
    201                             $taille = filesize(get_spip_doc(set_spip_doc($document['cible_url']['relative'].$document['frame'])));
    202                         }
     169                        //$image_frame->resizeImage($dimensions['largeur'], $dimensions['hauteur'],Imagick::FILTER_LANCZOS,1);
     170                    $image_frame->writeImage($document['cible_url']['absolute'].$document['frame']);
     171                    $taille = filesize(get_spip_doc(set_spip_doc($document['cible_url']['relative'].$document['frame'])));
    203172       
    204173                        $largeur = $dimensions['largeur'];
     
    218187                                }
    219188                        }
    220                         //on libère la frame
    221                         if ($version == '0.9') {
    222                             imagick_free($handle_frame);
    223                         } else {
    224                             $image_frame->clear();
    225                             $image_frame->destroy();
    226                         }
     189
     190                    $image_frame->clear();
     191                    $image_frame->destroy();
    227192                        $frame++;
    228193                    } while($frame < 1 );
    229             }
    230             /**
    231              * Libération de la ressource pour les anciennes versions
    232              */
    233             if ($version == '0.9') {
    234                 imagick_free($handle);
    235194            }
    236195
     
    297256 * @return booleen $resultat : true document convertible, false sinon
    298257 */
    299 function doc2img_ratio(&$handle,$version='0.9',$config=array()) {
     258function doc2img_ratio(&$handle,$config=array()) {
    300259
    301260    $ratio['largeur'] = $ratio['hauteur'] = 1;
     
    304263     * Récupération des dimensions du document d'origine
    305264     */
    306     if($version == '0.9'){
    307         $dimensions['largeur'] = imagick_getwidth($handle);
    308         $dimensions['hauteur'] = imagick_getheight($handle);
    309     }else{
    310                 $dimensions['largeur'] = $handle->getImageWidth();
    311         $dimensions['hauteur'] = $handle->getImageHeight();
    312     }
     265        $dimensions['largeur'] = $handle->getImageWidth();
     266        $dimensions['hauteur'] = $handle->getImageHeight();
    313267
    314268    //si une largeur seuil a été définie
  • _plugins_/doc2img/trunk/plugin.xml

    r61753 r61760  
    22        <nom><multi>[fr]Documents en Images[en]Documents to images</multi></nom>
    33        <auteur>Camille Lafitte</auteur>
    4         <version>1.1.0</version>
    5         <etat>stable</etat>
     4        <version>1.2.0</version>
     5        <etat>dev</etat>
    66        <slogan>
    77                <multi>
     
    4040                <inclure>doc2img_pipeline.php</inclure>
    4141        </pipeline>
    42         <necessite id="SPIP" version="[2.1.0;2.1.99]" />
    43         <necessite id="cfg" version="[1.9;]" />
     42        <necessite id="SPIP" version="[2.1.14;2.1.99]" />
     43        <necessite id="spip_bonux" version="[2.3.0;]" />
    4444        <utilise id="medias" version="[1.6.12;]" />
    4545   <categorie>edition</categorie>
Note: See TracChangeset for help on using the changeset viewer.