HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #3  
Старый 07.02.2009, 00:49
.:EnoT:.
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме:
4832771

Репутация: 1916


По умолчанию

Вот старая функция пропорционального ресайза, когда-то давно писал.

PHP код:
function resize($image$type$width=500$height=400){
        
        if(
$type == 'gif'$srcImage ImageCreateFromGif($image);
        elseif(
$type == 'jpeg'$srcImage ImageCreateFromJpeg($image);
        elseif(
$type == 'png'$srcImage ImageCreateFromPng($image);
        elseif(
$type == 'bmp'$srcImage ImageCreateFromwBmp($image);
        else 
$srcImage false;        

        if(
$srcImage){   
        
            
$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);
                
                if(
$type == 'gif') return ImageGif($resImage$image);
                elseif(
$type == 'jpeg') return ImageJpeg($resImage$image);
                elseif(
$type == 'png') return ImagePng($resImage$image);
                elseif(
$type == 'bmp') return ImagewBmp($resImage$image);
                else return 
false;
                
                
ImageDestroy($srcImage);
                
ImageDestroy($resImage);
            }
        }
    } 
Ну а с загрузкой всё просто.
Локально: cм. функции move_uploaded_file() или copy()
А удалённо: file_get_contents() и сохраняешь через fopen() и fputs()
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание плагинов для Firefox Xeks PHP 6 27.11.2008 14:49



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ