prowebber.ru - Тут есть все для настоящих вебмастеров

Чтение RSS Мы в твиттере
«    Декабрь 2016    »
ПнВтСрЧтПтСбВс
 
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
 

Всё для вебмастера » Всё для DataLife Engine » DLE хаки » Реализация эффекта Philips Ambilight в превью изображений

Реализация эффекта Philips Ambilight в превью изображений


Данный материал предоставлен сайтом ProWebber.ru исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
У нас вы можете скачать бесплатно Реализация эффекта Philips Ambilight в превью изображений.


Реализация эффекта Philips Ambilight в превью изображений

Хотите и себе такое аккуратное оформление превьюшек, которые всегда будут одинакового размера и не будут растягиваться?

Идея: diGreez
Разработчик: Aidsoid
DLE порт: aL13n

Собственно наша задача - реализовать создание вот таких вот превьюшек (см. картинку выше), используя DLE версии 8.3 или 8.5 (ниже тоже будет работать, но не тестировал лично).
Для этого нам понадобится 2-3 минуты свободного времени, не больше.

1) Открыть engine/classes/thumb.class.php и найти:

function sizes_img($sizes_img)



Выше вставить:

function insert_bg($width, $height, $padding) {

        $dest_image = imagecreatetruecolor($width, $height);

        $result = imagecopyresized($dest_image, $this->img['src'],  0,  0,  0,  0, $width, $height, $this->img['lebar'], $this->img['tinggi']);

        if (!$result) return FALSE;

        for ($i= 0; $i <= 100; $i++) {
            $result = imagefilter($dest_image, IMG_FILTER_SMOOTH, 6);
            if (!$result) return FALSE;
            }

        if ( ($this->img['lebar'] ==  0) or ($this->img['tinggi'] ==  0) ) {
            return FALSE;
        }

        $ratio = min( ($width-2*$padding)/$this->img['lebar'] , ($height-2*$padding)/$this->img['tinggi'] );

        $new_width = $ratio * $this->img['lebar'];
                $new_height = $ratio * $this->img['tinggi'];

        if ( ($new_width >= $this->img['lebar']) or ($new_height >= $this->img['tinggi']) ) {
            $new_width = $this->img['lebar'];
            $new_height = $this->img['tinggi'];
        }

        imagecopyresampled($dest_image, $this->img['src'], round(($width-$new_width)/2), round(($height-$new_height)/2),  0,  0, $new_width, $new_height, $this->img['lebar'], $this->img['tinggi']);
        $this->img['src'] = $dest_image;

        return true;

    }



2) Найти:

return $this->crop( intval($size[0]), intval($size[1]) );




Заменить на:

return $this->insert_bg( $size[0], $size[1], 10 ); // 10 - отступ




Читаем комментарий в коде и догадываемся, что 10 - это величина, которая задает отступ от краев, которые и будут размыты.

3) При загрузке изображений указывать размеры превью вида widthxheight, например, 130x90.


0
Просмотры: 2857 VIP ProWebber | Комментарии (8)
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1WezangO

  • 11 мая 2010 16:11
  • Регистрация: 26.12.2009
  • ICQ: 350333485
  • Комментариев: 141
Прикольно придумано !!! smile
Проверю и отпишусь о работоспособности на 8.2 !

Проверил на 8.2 не работает ! beee

--------------------

0

#2Hnt

  • 13 мая 2010 09:11
  • Регистрация: 4.03.2010
  • ICQ: --
  • Комментариев: 12
function sizes_img($sizes_img)

Нет такой функции в 8.3

0

#3Flomik

  • 15 мая 2010 17:36
  • Регистрация: 15.05.2010
  • ICQ: 7978658
  • Комментариев: 11
на 8.5 тож не пашет =(

0

#4DarkNill523

  • 17 сентября 2010 20:00
  • Регистрация: 18.11.2009
  • ICQ: --
  • Комментариев: 12
и на DLE 9 не пашет!

0

#5Knoksi

  • 4 октября 2010 21:57
  • Регистрация: 4.10.2010
  • ICQ: --
  • Комментариев: 39
Всё работает, просто нужно подправить так
if ( count($size) == 2 ) {
            $size
1;0] = intval($size[0]);
            $size
1;1] = intval($size[1]);
            return $this->insert_bg( $size[0], $size[1], 5 );

        } else {
            $size
1;0] = intval($size[0]);
            return $this->insert_bg( intval($size[0]), intval($size[0]), 5 );

        }

--------------------

0

#6absolutize

  • 10 октября 2010 16:10
  • Регистрация: 9.02.2010
  • ICQ: --
  • Комментариев: 17
нужный хак, давно искал что-то подобное... очень симпотичные картинки появляются

0

#7Durimar

  • 2 августа 2011 21:48
  • Регистрация: 4.11.2010
  • ICQ: --
  • Комментариев: 5
Покажите демо ?

0

#8SoundMonster

  • 13 августа 2012 20:48
  • Регистрация: 17.07.2012
  • ICQ: 573760919
  • Комментариев: 10
Да прикольно придуманно

--------------------

0
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.

Max-energy.top - Заработок на электросчетчиках;)

Skripters.info - все для вебмастера. Только эксклюзивный контент.

Создание шаблонов DLE, быстро и недорого! 3wave.com.ua

Бро лей на лучшую партнёрку

Почти бесплатный VDS хостинг!

Поддержи сайт
Скрипты, cms, шаблоны, статьи по раскрутке

Опросы

Как часто вы бываете на сайте?

Захожу 1-2 раза в день
1-2 часа в сутки
Более 2 часов
Почти целый день тут smile

Архив новостей
Ноябрь 2016 (7)
Октябрь 2016 (10)
Сентябрь 2016 (8)
Август 2016 (11)
Июль 2016 (14)
Июнь 2016 (17)

Последние комментарии:

Искать людей

Ваши переписки