С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP
Войти
Регистрация
Восстановить пароль
 
anadikt
0 / 0 / 0
Регистрация: 06.04.2013
Сообщений: 3
1

Функция вырезания превью в pluxfolio

06.04.2013, 16:54. Просмотров 491. Ответов 0
Метки нет (Все метки)

Здравствуйте! Подскажите пожалуйста, как можно добавить функцию вырезания картинки и уменьшения в pluxfolio?

Вот стандартная функция:
Кликните здесь для просмотра всего текста
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    function makeThumb($filename, $filename_out, $width, $height, $quality, $thumbtype) {
 
        # Informations sur l'image
        list($width_orig,$height_orig,$type) = getimagesize($filename);
        
        # CrГ©ation de l'image
        $image_p = imagecreatetruecolor($width,$height);
        if($type == 2)
            $image = imagecreatefromjpeg($filename);
        elseif($type == 3)
            $image = imagecreatefrompng($filename);
        elseif($type == 1)
            $image = imagecreatefromgif($filename); 
            
        if($thumbtype == 1) imagecopy($image_p, $image, 0, 0, 0, 0, $width, $height); // this do magic
        else imagecopyresized($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig );
        
        if($type == 2)
            imagejpeg($image_p, $filename_out, '100');
        elseif($type == 3)
            imagepng($image_p, $filename_out);
        elseif ($type==1) imagegif($image_p, $filename_out);
        
    }

А вот нашел в интернете код вырезания картинки:
Кликните здесь для просмотра всего текста
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
function crop($file_input, $file_output, $crop = 'square',$percent = false) {
    list($w_i, $h_i, $type) = getimagesize($file_input);
    if (!$w_i || !$h_i) {
        echo 'Невозможно получить длину и ширину изображения';
        return;
    }
    $types = array('','gif','jpeg','png');
    $ext = $types[$type];
    if ($ext) {
        $func = 'imagecreatefrom'.$ext;
        $img = $func($file_input);
    } else {
        echo 'Некорректный формат файла';
        return;
    }
    if ($crop == 'square') {
        $min = $w_i;
        if ($w_i > $h_i) $min = $h_i;
        $w_o = $h_o = $min;
    } else {
        list($x_o, $y_o, $w_o, $h_o) = $crop;
        if ($percent) {
            $w_o *= $w_i / 100;
            $h_o *= $h_i / 100;
            $x_o *= $w_i / 100;
            $y_o *= $h_i / 100;
        }
        if ($w_o < 0) $w_o += $w_i;
        $w_o -= $x_o;
        if ($h_o < 0) $h_o += $h_i;
        $h_o -= $y_o;
    }
    $img_o = imagecreatetruecolor($w_o, $h_o);
    imagecopy($img_o, $img, 0, 0, $x_o, $y_o, $w_o, $h_o);
    if ($type == 2) {
        return imagejpeg($img_o,$file_output,100);
    } else {
        $func = 'image'.$ext;
        return $func($img_o,$file_output);
    }
}
А если необходимо обрезать изображение по центру:

то нужно заменить в функции следующие строки:

PHP
1
2
$min = $w_i;
if ($w_i > $h_i) $min = $h_i;
на эти:
PHP
1
2
3
4
5
6
7
if ($w_i > $h_i) {
    $x_o = ($w_i - $h_i) / 2;
    $min = $h_i;
} else {
    $y_o = ($h_i - $w_i) / 2;
    $min = $w_i;
}


Вопрос: как объединить эти две функции в одну, чтобы движок pluxfolio мог брать картинку и делал из нее превью (но не сжимал, а брал уменьшал и вырезал квадрат в центре размером наименьшей стороны)

Как то так! За ранее благодарен!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.04.2013, 16:54
Ответы с готовыми решениями:

Превью сайта
Люди такая проблемма (ПОЧЕМУ в МОИХ СООБЩЕНИЯХ МНЕ ПОЧТИ НИКТО НЕ ПОМОГАЕТ), но...

Превью для галереи
В общем сделал небольшую галерею с mysql и админпанель. В админке и создаються...

Создание превью на стороне клиента
Всем доброго дня. Подскажите возможно ли как-то произвести уменьшение...

Как отключить размер превью в коде
Здравствуйте! Никак не могу отключить ресайзинг картинки. Конкретно, она...

файл превью
есть файл превью полностью рабочий $source=$_GET; //наш исходник $height=200;...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2013, 16:54

превью к видео
Подскажите чем лучше создавать превью для flv файлов на стороне сервера,сейчас...

не создается превью
ДД! Решил напилить файловый загрузчик. Вроде бы все норм, файл загружает, а...

Работа с превью изображений
Делаю превьюхи в фотогалерее. Сначала imagecopyresized а потом вывожу через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru