ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Помогите найти class для оброботки....
  #1  
Старый 03.06.2010, 13:18
Аватар для kdk
kdk
Участник форума
Регистрация: 08.11.2006
Сообщений: 113
Провел на форуме:
184002

Репутация: 3
По умолчанию Помогите найти class для оброботки....

Посоветуйте класс для обработки картинок так что бы все обрабатывал расширения((jpeg,jpe,jpg),gif).Обра атывал масштаб картинок и можно было накладывать на них другие картинки. И что бы он не сильно тяжелый был! Заранее СПС
 
Ответить с цитированием

  #2  
Старый 04.06.2010, 11:13
Аватар для Flenat
Flenat
Новичок
Регистрация: 10.04.2010
Сообщений: 6
Провел на форуме:
9423

Репутация: 5
По умолчанию

Класс из DLE вполне удобный.

PHP код:
class thumbnail {
    var 
$img;
    var 
$watermark_image_light;
    var 
$watermark_image_dark;
    
    function 
thumbnail($imgfile) {
        
//detect image format

        
$info = @getimagesize($imgfile); 

        if( 
$info[2] == ) {
            
$this->img['format'] = "JPEG";
            
$this->img['src'] = @imagecreatefromjpeg$imgfile );
        } elseif( 
$info[2] == ) {
            
$this->img['format'] = "PNG";
            
$this->img['src'] = @imagecreatefrompng$imgfile );
        } elseif( 
$info[2] == ) {
            
$this->img['format'] = "GIF";
            
$this->img['src'] = @imagecreatefromgif$imgfile );
        } else {
            echo 
"Not Supported File! Thumbnails can only be made from .jpg, gif and .png images!";
            @
unlink$imgfile );
            exit();
        }

        if( !
$this->img['src'] ) {
            echo 
"Not Supported File! Thumbnails can only be made from .jpg, gif and .png images!";
            @
unlink$imgfile );
            exit();
        
        }

        
$this->img['lebar'] = @imagesx$this->img['src'] );
        
$this->img['tinggi'] = @imagesy$this->img['src'] );
        
$this->img['lebar_thumb'] = $this->img['lebar'];
        
$this->img['tinggi_thumb'] = $this->img['tinggi'];
        
//default quality jpeg
        
$this->img['quality'] = 90;
        
    }
    
    function 
size_auto($size 100$site 0) {
        global 
$gd_version;
        
        
$site intval$site );
        
        if( 
$this->img['lebar'] <= $size and $this->img['tinggi'] <= $size ) {
            
$this->img['lebar_thumb'] = $this->img['lebar'];
            
$this->img['tinggi_thumb'] = $this->img['tinggi'];
            return 
0;
        }
        
        switch (
$site) {
            
            case 
"1" :
                if( 
$this->img['lebar'] <= $size ) {
                    
$this->img['lebar_thumb'] = $this->img['lebar'];
                    
$this->img['tinggi_thumb'] = $this->img['tinggi'];
                    return 
0;
                } else {
                    
$this->img['lebar_thumb'] = $size;
                    
$this->img['tinggi_thumb'] = ($this->img['lebar_thumb'] / $this->img['lebar']) * $this->img['tinggi'];
                }
                
                break;
            
            case 
"2" :
                if( 
$this->img['tinggi'] <= $size ) {
                    
$this->img['lebar_thumb'] = $this->img['lebar'];
                    
$this->img['tinggi_thumb'] = $this->img['tinggi'];
                    return 
0;
                } else {
                    
$this->img['tinggi_thumb'] = $size;
                    
$this->img['lebar_thumb'] = ($this->img['tinggi_thumb'] / $this->img['tinggi']) * $this->img['lebar'];
                }
                
                break;
            
            default :
                
                if( 
$this->img['lebar'] >= $this->img['tinggi'] ) {
                    
$this->img['lebar_thumb'] = $size;
                    
$this->img['tinggi_thumb'] = ($this->img['lebar_thumb'] / $this->img['lebar']) * $this->img['tinggi'];
                
                } else {
                    
                    
$this->img['tinggi_thumb'] = $size;
                    
$this->img['lebar_thumb'] = ($this->img['tinggi_thumb'] / $this->img['tinggi']) * $this->img['lebar'];
                
                }
                
                break;
        }
        
        if( 
$gd_version == ) {
            
$this->img['des'] = imagecreate$this->img['lebar_thumb'], $this->img['tinggi_thumb'] );
            @
imagecopyresized$this->img['des'], $this->img['src'], 0000$this->img['lebar_thumb'], $this->img['tinggi_thumb'], $this->img['lebar'], $this->img['tinggi'] );
        } elseif( 
$gd_version == ) {
            
$this->img['des'] = imagecreatetruecolor$this->img['lebar_thumb'], $this->img['tinggi_thumb'] );
            @
imagecopyresampled$this->img['des'], $this->img['src'], 0000$this->img['lebar_thumb'], $this->img['tinggi_thumb'], $this->img['lebar'], $this->img['tinggi'] );
        }
        
        
$this->img['src'] = $this->img['des'];
        return 
1;
    }
    
    function 
jpeg_quality($quality 90) {
        
//jpeg quality
        
$this->img['quality'] = $quality;
    }
    
    function 
save($save "") {
        
        if( 
$this->img['format'] == "JPG" || $this->img['format'] == "JPEG" ) {
            
//JPEG
            
imagejpeg$this->img['src'], $save$this->img['quality'] );
        } elseif( 
$this->img['format'] == "PNG" ) {
            
//PNG
            
imagepng$this->img['src'], $save );
        } elseif( 
$this->img['format'] == "GIF" ) {
            
//GIF
            
imagegif$this->img['src'], $save );
        }
        
        
imagedestroy$this->img['src'] );
    }
    
    function 
show() {
        if( 
$this->img['format'] == "JPG" || $this->img['format'] == "JPEG" ) {
            
//JPEG
            
imageJPEG$this->img['src'], ""$this->img['quality'] );
        } elseif( 
$this->img['format'] == "PNG" ) {
            
//PNG
            
imagePNG$this->img['src'] );
        } elseif( 
$this->img['format'] == "GIF" ) {
            
//GIF
            
imageGIF$this->img['src'] );
        }
        
        
imagedestroy$this->img['src'] );
    }
    
    
// *************************************************************************
    
function insert_watermark($min_image) {
        global 
$config;
        
$margin 7;
        
        
$this->watermark_image_light ROOT_DIR '/templates/' $config['skin'] . '/dleimages/watermark_light.png';
        
$this->watermark_image_dark ROOT_DIR '/templates/' $config['skin'] . '/dleimages/watermark_dark.png';
        
        
$image_width imagesx$this->img['src'] );
        
$image_height imagesy$this->img['src'] );
        
        list ( 
$watermark_width$watermark_height ) = getimagesize$this->watermark_image_light );
        
        
$watermark_x $image_width $margin $watermark_width;
        
$watermark_y $image_height $margin $watermark_height;
        
        
$watermark_x2 $watermark_x $watermark_width;
        
$watermark_y2 $watermark_y $watermark_height;
        
        if( 
$watermark_x or $watermark_y or $watermark_x2 $image_width or $watermark_y2 $image_height or $image_width $min_image or $image_height $min_image ) {
            return;
        }
        
        
$test imagecreatetruecolor1);
        
imagecopyresampled$test$this->img['src'], 00$watermark_x$watermark_y11$watermark_width$watermark_height );
        
$rgb imagecolorat$test0);
        
        
$r = ($rgb >> 16) & 0xFF;
        
$g = ($rgb >> 8) & 0xFF;
        
$b $rgb 0xFF;
        
        
$max min$r$g$b );
        
$min max$r$g$b );
        
$lightness = ( double ) (($max $min) / 510.0);
        
imagedestroy$test );
        
        
$watermark_image = ($lightness 0.5) ? $this->watermark_image_light $this->watermark_image_dark;
        
        
$watermark imagecreatefrompng$watermark_image );
        
        
imagealphablending$this->img['src'], TRUE );
        
imagealphablending$watermarkTRUE );
        
        
imagecopy$this->img['src'], $watermark$watermark_x$watermark_y00$watermark_width$watermark_height );
        
        
imagedestroy$watermark );
    
    }


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

  #3  
Старый 04.06.2010, 11:16
Аватар для Flenat
Flenat
Новичок
Регистрация: 10.04.2010
Сообщений: 6
Провел на форуме:
9423

Репутация: 5
По умолчанию

Использование:


include_once ENGINE_DIR . '/classes/thumb.class.php';

$thumb = new thumbnail(картика.расширение); // 1323.jpg
$thumb->size_auto( размер в пиксклях); // 100
$thumb->jpeg_quality( качество ); //10-100
и т.д....
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PSalm69 Избранное 248 27.10.2009 04:52
О законе. _-[A.M.D]HiM@S-_ Статьи 28 01.11.2007 12:25
Софт для мобильных телефонов под *nix Grrl Сотовый фрикинг 2 02.03.2007 01:47
Редактирование содежимого прошивок для Самсунгов Digimortal Схемы и программы 3 28.02.2007 14:22
Программы для работы с железом. Часть 2 – материнские платы _GaLs_ Аппаратное обеспечение 0 19.11.2006 12:57



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


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




ANTICHAT.XYZ