2010-06-22 7 views
-4

J'ai besoin de moyens pour optimiser dynamiquement les images en utilisant PHP. Des exemples de codes ou un module seraient très utiles. Merci.Optimisation de l'image PHP

+0

ps: on ne sait pas ce que vous entendez par "optimiser dynamiquement les images". optimiser ... comment? pour la taille du fichier? pour la clarté de l'image? que voulez-vous dire par "dynamiquement"? – mpen

Répondre

1

Qu'entendez-vous par optimiser? Si vous souhaitez garder les dimensions mais réduire la taille, jetez un oeil à imageJpeg pour un exemple, et en particulier le troisième argument (quality). Considérez 100 pour être une qualité parfaite, et commencez à la diminuer pour trouver un équilibre optimal entre la qualité et la taille.

4

vous pouvez utiliser thimthumb.php

aller à votre .htaccess

que d'ajouter

<IfModule mod_rewrite.c> 
    Options +FollowSymLinks 
    RewriteEngine On 
    RewriteRule ^(.*\.(png|jpg))$ /timthumb.php?q=100&src=$1 
</IfModule> 

"q = 100" est la qualité que vous pouvez le définir 0-100 Situés entre que créer un nouveau fichier "img.php" dans le répertoire personnel, par exemple: www.your-website.com/timthumb.php

http://timthumb.googlecode.com/svn/trunk/timthumb.php

que de trouver ce

// Get original width and height 
     $width = imagesx ($image); 
     $height = imagesy ($image); 
     $origin_x = 0; 
     $origin_y = 0; 

     // generate new w/h if not provided 
     if ($new_width && !$new_height) { 
      $new_height = floor ($height * ($new_width/$width)); 
     } else if ($new_height && !$new_width) { 
      $new_width = floor ($width * ($new_height/$height)); 
     } 

et le remplacer par ce

// Get original width and height 
    $width = imagesx ($image); 
    $height = imagesy ($image); 
    $origin_x = 0; 
    $origin_y = 0; 

    // don't allow new width or height to be greater than the original  
    if($new_width > $width) {  
     $new_width = $width;   
    }  
    if($new_height > $height) {  
     $new_height = $height;  
    } 

    // generate new w/h if not provided 
    if ($new_width && !$new_height) { 
     $new_height = floor ($height * ($new_width/$width)); 
    } else if ($new_height && !$new_width) { 
     $new_width = floor ($width * ($new_height/$height)); 
    } 

donc quand vous allez à www.your-website.com/images/pict.png il est comme votre chargement www. your-website.com/img.php?q=100 & src =/images/pict.png espérons que vous aimez ça! & désolé si je ne pouvais pas expliquer bien parce que mon anglais n'est pas bon. : D

0

très simple est ici aussi: il suffit de changer la valeur de qualité (60) de 1 à 100, comme vous le souhaitez. Après l'exécution du script, regardez la taille du fichier, et de cette façon, définissez votre valeur de qualité optimale.

source