Показать сообщение отдельно

Функция ресайза изображения
  #80  
Старый 29.04.2007, 03:23
mR_LiNK[deface_0nl
Участник форума
Регистрация: 12.12.2006
Сообщений: 158
Провел на форуме:
1364740

Репутация: 114
По умолчанию Функция ресайза изображения

Функция ресайза изображения


На вход подаются путь к изменяемой картинке, новая ширина и высота.

PHP код:
function SetImgSize($img$width$height)
{
         
//получаем тип файла    
    
{
        case 
"jpg":
            
$srcImage = @ImageCreateFromJPEG($img);                
        break;
            
        case 
"gif"
            
$srcImage ImageCreateFromGIF($img);
        break; 

        case 
"png"
            
$srcImage ImageCreateFromPNG($img); 
        break;
        
        default:
            return -
1;
        break;
    }
                
    
$srcWidth  ImageSX($srcImage); 
    
$srcHeight ImageSY($srcImage); 
        
    if((
$width $srcWidth) || ($height $srcHeight))
    {
        
$ratioWidth  $srcWidth/$width
        
$ratioHeight $srcHeight/$height

        if(
$ratioWidth $ratioHeight)
        { 
            
$destWidth  $srcWidth/$ratioHeight
            
$destHeight $height
        }
        else
        { 
            
$destWidth  $width
            
$destHeight $srcHeight/$ratioWidth;                         
        } 

        
$resImage ImageCreateTrueColor($destWidth$destHeight);
        
        
ImageCopyResampled($resImage$srcImage0000$destWidth$destHeight$srcWidth$srcHeight);    
            
        
unlink($img);
            
        
//определяем тип
        
{
            case 
"jpg":
                
ImageJPEG($resImage$img100); 
            break;
                
            case 
"gif"
                
ImageGIF($resImage$img);                     
            break; 

            case 
"png"
                
ImagePNG($resImage$img);                     
            break;
        }
            
        
ImageDestroy($srcImage); 
        
ImageDestroy($resImage); 
    }

 
Ответить с цитированием