Модераторы: 2man
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Масштабирование изображения, как уменьшить картинку любого расширения 
:(
    Опции темы
Gorcer
Дата 30.3.2005, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 275
Регистрация: 30.6.2004
Где: Владивосток

Репутация: нет
Всего: 4



Здраствуйте.
Есть у меня фото - галерея, в которой куча картинок с огромным разрешщением, и вот хочу я отображать на странице уменьшеные изображения картинок, при этом всем они должны грузиться быстро (т.е. вариант указывать в тэге нужный размер никатит вабще никак).

может кто-нибудь подскажет скрипт который будет независимо от формата (jpg,gif,bmp) менять размер изображения до нужного?

заранее благодарен


--------------------
Больнее всего получить удар от человека которому доверяешь.

<удалено администрацией>
PM MAIL WWW ICQ Skype   Вверх
Mal Hack
Дата 30.3.2005, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 4
Всего: 261



PM ICQ   Вверх
Дикий
Дата 29.4.2005, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 14.4.2005

Репутация: нет
Всего: нет



Цитата(Gorcer @ 30.3.2005, 10:21)
Здраствуйте.
Есть у меня фото - галерея, в которой куча картинок с огромным разрешщением, и вот хочу я отображать на странице уменьшеные изображения картинок, при этом всем они должны грузиться быстро (т.е. вариант указывать в тэге нужный размер никатит вабще никак).

может кто-нибудь подскажет скрипт который будет независимо от формата (jpg,gif,bmp) менять размер изображения до нужного?

заранее благодарен

Если у тебя есть Офис 11 то это очень легко сделать визуально в PABLISHER, с помощью мышки копируешь туда фотку и мышкой же уменьшаешь границы окна. Только и всего.
Дикий
PM MAIL   Вверх
skalex
Дата 29.4.2005, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Хороший человек
**


Профиль
Группа: Участник Клуба
Сообщений: 895
Регистрация: 2.4.2004

Репутация: 2
Всего: 23



Цитата
Если у тебя есть Офис 11 ...

Что за бред ? Здесь речь не об этом ...
PM   Вверх
IZ@TOP
Дата 29.4.2005, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 3
Всего: 73



Дикий, тут РНР раздел а не офис. Люди сюда приходят чтобы узнать как сделать что-то на РНР а не с помощью сторонних программ smile


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Guest
Дата 29.4.2005, 16:11 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Из необходимого: PEAR, Image/Transform, и ImageMagick в шелле
Код

function __resizeimage($path, $width = 100, $quality = 100, $deleteOriginal = false, $prefix = 'tmb.'){
    require_once('Image/Transform.php');
    if(!is_file($path)) return false;
    $it = & Image_Transform::factory('IM');
    $it->load($path);
    if($it->img_x > $width){
        $it->scaleByX($width);
        $newPath = dirname($path).'/'.$prefix.basename($path);
        @$it->save($newPath, '', $quality);
        if($deleteOriginal){
            unlink($path);
        }
        $path = $newPath;
    }
    return array(
        'name'    => basename($path),
        'sizeX'    => $it->img_x,
        'sizeY'    => $it->img_y
    );
    return true; // Ðåñàéç íå íóæåí
}


Качество на несколько порядков віше чем у GD2
  Вверх
izOne
Дата 29.4.2005, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 232
Регистрация: 22.8.2003
Где: Украина, Киев

Репутация: нет
Всего: 4



И еще... до использование функции необходимо определить путь к библиотеам:
для windows
Код

define('IMAGE_TRANSFORM_LIB_PATH', 'C:/Progra~1/ImageMagick-6.1.4-Q16/');

для *nix
Код

define('IMAGE_TRANSFORM_LIB_PATH', '/usr/local/bin/convert');


В связке с HTTP/Upload.php можно использовать для ресайза изображения закачиваемого пользователем:

Код

if(is_a($upload, 'http_upload_file')){
    $prop = $upload->getProp();
    if($upload->isValid()){
        $upload->setName('safe');
        $destDir  = $this->dataDir.'/'.$id;
        if(!is_dir($destDir)){
            mkdir($destDir);
        }
        $destName = $upload->moveTo($destDir);
        if(!PEAR::isError($destName)){
            $rsz = __resizeimage($destDir.'/'.$destName, 100, 100, true);
            $this->db->query("UPDATE `alarms` SET `img`='".$rsz['name']."' WHERE `id`='".$id."'");
        }
    }
}


Это сообщение отредактировал(а) izOne - 29.4.2005, 16:31
--------------------
Успех ждет каждого, но иногда всю жизнь.
PM Jabber   Вверх
Gorcer
Дата 8.5.2005, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 275
Регистрация: 30.6.2004
Где: Владивосток

Репутация: нет
Всего: 4



izOne
Спасибо, а можно поподролбней на том, как то встроить..:

Цитата(Guest @ 29.4.2005, 16:11)
require_once('Image/Transform.php');

это какой файл подключается, и что в нем и зачем он?


Цитата(izOne @ 29.4.2005, 16:31)
В связке с HTTP/Upload.php можно использовать для ресайза изображения закачиваемого пользователем:

нехочу казаться лабмером, но код совсем непонялsmile
Если я это вставлю в файл который генерирует изображение все будет на мази?


--------------------
Больнее всего получить удар от человека которому доверяешь.

<удалено администрацией>
PM MAIL WWW ICQ Skype   Вверх
IZ@TOP
Дата 8.5.2005, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 3
Всего: 73



Gorcer, для того чтобы данный пример работал, тебе необходимо установить библиотеку PEAR.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Другие движки / фрейморки | Следующая тема »


 




[ Время генерации скрипта: 0.0528 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.