2012-05-26 3 views
0

J'essaye de redimensionner une image dans mon plugin wordpress en utilisant php, Mais ils ne fonctionnent pas. Comment puis-je redimensionner l'image en tant que propotion sage en utilisant php?image redimensionner dans mon plugin wordpress en utilisant php

quelqu'un sait si c'est possible?

Merci

+0

Il existe un outil appelé TimThumb: http: //www.binarymoon.co.uk/projects/timthumb/ –

Répondre

0

Cette fonction prend la imagePath en tant que paramètre et la taille à laquelle vous voulez redimensionner les image.This redimensionne l'image avec des contraintes de proportion

taille = 300 On suppose que alors il y aura trois scénarios

1) si la hauteur de l'image est supérieure à la largeur alors sa hauteur sera de 300

2) si la largeur est supérieure à sa largeur sera de 300

3) si l'image est d'un rapport 1: 1 puis à la fois la hauteur et la largeur seront de taille 300

function resizeImage($imagePath,$size) 
{ 
    $sizeData = getimagesize($imagePath); 
    $width = $sizeData[0]; 
    $height = $sizeData[1];  

    # Loading image to memory according to type 
    switch ($sizeData[2]) { 
     case IMAGETYPE_GIF: $src = imagecreatefromgif($imagePath); break; 
     case IMAGETYPE_JPEG: $src = imagecreatefromjpeg($imagePath); break; 
     case IMAGETYPE_PNG: $src = imagecreatefrompng($imagePath); break; 
     default: return false; 
    } 
    if(!$src) 
    { 
     return false; 
    } 
    if($height >= $width) 
    { 
     $newheight = $size; 
     $newwidth = ($newheight*$width)/$height;    
    } 
    else 
    { 
     $newwidth = $size; 
     $newheight = ($height/$width)*$newwidth;    
    }  
    $tmp = imagecreatetruecolor($newwidth,$newheight); 

    imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height); 

    # Writing image according to type to the output destination 
    switch ($sizeData[2]) { 
     case IMAGETYPE_GIF: imagegif($tmp, $imagePath); break; 
     case IMAGETYPE_JPEG: imagejpeg($tmp, $imagePath, 100); break; 
     case IMAGETYPE_PNG: imagepng($tmp, $imagePath, 9); break; 
     default: return false; 
    } 
    imagedestroy($src); 
    imagedestroy($tmp); 
    return true; 
} 
Questions connexes