Объединенный Открытый Проект - Сайт для Настоящих Компьютерщиков

Объединенный Открытый Проект

Сайт для Настоящих Компьютерщиков

; Логин:
  Пароль:
Обычный
Безопасный
Запомнить пользователя



Зарегистрироваться
Забыли пароль?
 
 
 
Объединенный Открытый Проект »   Русский IkonBoard »   Форум поддержки русской версии IkonBoard »   Дополнение к upload.cgi
RSS

Дополнение к upload.cgi

для регулирования размера картинок

Текущий рейтинг темы: Нет

<<Назад  Вперед>>Модератор: GramПечать
 
trew
Начинающий


Всего сообщений: 28
Рейтинг пользователя: 0





Дата регистрации на форуме:
12 янв. 2004
Добрый день! Помогите реализовать очень нужную штучку-дополнение к загрузке картинок на форум, - совмещение с модулем Image::Magick по примеру:
http://emanual.ru/download/5169.html
Честно говоря у меня не получается совместить их...
За ранее , спасибо!
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 2994
Рейтинг пользователя: 79





Дата регистрации на форуме:
29 сен. 2001
Предлагаю перейти на Intellect Board, там это есть сразу.

---
Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
Gram
Модератор раздела

Gram
Откуда: здешний
Всего сообщений: 566
Рейтинг пользователя: 14

Репутация пользователя: 1




Дата регистрации на форуме:
23 июля 2003
trew, а что конкретно ты хочешь реализовать через Image::Magick?

Кстати, загрузку аватаров в профиле я у себя реализовывал через GD...
trew
Начинающий


Всего сообщений: 28
Рейтинг пользователя: 0





Дата регистрации на форуме:
12 янв. 2004
XXXX Pro
[q]
Предлагаю перейти на Intellect Board, там это есть сразу.
[/q]

Согласен, но пхп и мускул я только начинаю смотреть, то есть я еще даже к нулю не подошел ;).....
Gram
Когда пользователи загружают картинки в пост, картинки все разного размера... И если ограничить по кбт можно, то по ширине растягивается все.... :)
Я думал с помощью этого модуля приспособить загружать уже картинки без потери качества( и кучей других функций), а потом их вставлять как обычно...
GD для этого не совсем годится - много ограничений, по сравнению с мэджеком....
Gram
Модератор раздела

Gram
Откуда: здешний
Всего сообщений: 566
Рейтинг пользователя: 14

Репутация пользователя: 1




Дата регистрации на форуме:
23 июля 2003
trew, как я понял, ты хочешь реализовать автоматический ресайзинг загруженных картинок. Т.е. пользователь к примеру грузит картинку 1600х1200, а скрипт ресайзит её к примеру в 640х480? А если картинка меньше 640х480, то она грузится неотресайзенной? Так?

Или так хочешь уже при выоде картинки в посте ресайзить?

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

Кстати, никто не в курсе как в GD заюзать анимацию у gif? Ну вот не хочет он видеть анимацию и все! Только первый фрейм... У Image::Magick как с этим? Нормуль?
trew
Начинающий


Всего сообщений: 28
Рейтинг пользователя: 0





Дата регистрации на форуме:
12 янв. 2004
Gram
[q]
Т.е. пользователь к примеру грузит картинку 1600х1200, а скрипт ресайзит её к примеру в 640х480? А если картинка меньше 640х480, то она грузится неотресайзенной?
[/q]

Да, точно так :) Потому что , если делать на вывод, то слишком много проверок везде нужно ставить, мне так кажется....
Оно стоит того.... например возьмем атач.cgi, который уже установлен к 4 версии, при загрузке картинки вылазить ява-ссылка, я кликаю ( как по имени) и ( картинка) автоматом вставляется в пост.... Можно записать два варианта картинки с разными размерами и данными, и вывести две ссылки - одни маленькая превьюшка и большая нормальная..., то есть на сервер кладется два файлика уже в разные папки , а вывести уже можно додумать....
[q]
У Image::Magick как с этим?
[/q]
Судя по описанию, вроде работает со всеми форматами и анимацией в том числе. Поэтому и тянет использовать его :)

Gram
Модератор раздела

Gram
Откуда: здешний
Всего сообщений: 566
Рейтинг пользователя: 14

Репутация пользователя: 1




Дата регистрации на форуме:
23 июля 2003

trew написал:
[q]
Можно записать два варианта картинки с разными размерами и данными
[/q]

Смысл понятен. Ок. Гляну на возможности Маджика... Посмотрим, как легко это будет реализовать...

Дело за малым. Найти модуль Magick для 8 билда перла. Нет нигде.
trew
Начинающий


Всего сообщений: 28
Рейтинг пользователя: 0





Дата регистрации на форуме:
12 янв. 2004
Gram Спасибо!
Сам модуль: http://search.cpan.org/~jcristy/PerlMagick-6.20/Magick.pm
Вот только наверно надо узнать какой у хостера моего стоит? Потому что это последний выпуск....
Gram
Модератор раздела

Gram
Откуда: здешний
Всего сообщений: 566
Рейтинг пользователя: 14

Репутация пользователя: 1




Дата регистрации на форуме:
23 июля 2003
Дык мне б под винду надо... Я вот только не знаю подойдет ли Маджик для 6 билда к 8 билду...
trew
Начинающий


Всего сообщений: 28
Рейтинг пользователя: 0





Дата регистрации на форуме:
12 янв. 2004
Gram
У хостера вроде то же винда... Я в суппорт отправил вопрос, какой модуль стоит, чтоб взять ссылку на него. Может действительно в разных версиях есть отличия...
Gram
Модератор раздела

Gram
Откуда: здешний
Всего сообщений: 566
Рейтинг пользователя: 14

Репутация пользователя: 1




Дата регистрации на форуме:
23 июля 2003
trew, ну а пока ищется можуль, можно поразмышлять над реализацией :) Я вот хз как там реализовывается в Маджике, но вот в GD для каждого типа картинок нужно создавать новый объект. Т.е. как я думаю, закачиваем картинку, смотрим ее тип и в зависимости от типа создаем превьюшку...

XXXX Pro, ты что на это скажешь? ;)
trew
Начинающий


Всего сообщений: 28
Рейтинг пользователя: 0





Дата регистрации на форуме:
12 янв. 2004
Gram
Вот как раз этот модуль и стоит, для перла 5.008...
Я думал сделать примерно так:
open(FILE,">$imagesdir"."upload/$filename");

   $uploadfile = $query->param("uploadfile");

   binmode FILE;

   binmode $uploadfile;

   print FILE while (<$uploadfile>;);

   close(FILE);    



   if ($uploadtype eq "image") {

     $pictype=&ScanIMG("$imagesdir"."upload/$filename");

     if (!$pictype) {

       unlink("$imagesdir"."upload/$filename");

       &error("загрузке файла&Файл не является картинкой или был поврежден при загрузке.");

     }

   }

  

   if ($uploadtype eq "image") {

   $uploadmsg = "<b>Картинка успешно загружена</b> <br>Вы можете вставить ее в ваше сообщение следующим образом: <a href=\"javascript:AddText('\[img\]$imagesurl/upload/$filename\[/img\]')\">\[img\]$imagesurl/upload/$filename\[/img\]</a>";}

   else {$uploadmsg = "<b>Файл успешно загружен</b> <br>Вы можете поставить на него ссылку в вашем сообщении следующим образом: <a href=\"javascript:AddText('\[url\]$imagesurl/upload/$filename\[/url\]')\">\[url\]$imagesurl/upload/$filename\[/url\])</a>"; }

  

это уже то что есть в скрипте для простой картинки как она есть.
Теперь мы одновременно закгружаем точно такую, но с помощью модуля в другую папку и ставим ей другую функцию:

$pictype=&ScanIMG("$imagesdir"."upload/$filename");
вместо этой( что красная)...
Но выводим только превьюшку.... При клике на нее жабой открывается в новом окне уже полностью, как есть.
trew
Начинающий


Всего сообщений: 28
Рейтинг пользователя: 0





Дата регистрации на форуме:
12 янв. 2004
Для винды: http://www.simplesystems.org/ImageMagick/www/advanced-windows-installation.html
Gram
Модератор раздела

Gram
Откуда: здешний
Всего сообщений: 566
Рейтинг пользователя: 14

Репутация пользователя: 1




Дата регистрации на форуме:
23 июля 2003
trew, ну это я и имел ввиду. Только можно тип картинки определять с помощью самого Маджика, а не ScanIMG + надо будет убрать столь раздражающую меня необходимость каждый раз вводить имя файла. Это настолько глупо, что даже и не знаю :) В общем надо генерировать имя файла автоматически, к примеру имя файла будет такой: ник_time.тип, а превюшки будут иметь тоже имя, только в папочке preview...

Насчет модуля - гляну, спасибо.
trew
Начинающий


Всего сообщений: 28
Рейтинг пользователя: 0





Дата регистрации на форуме:
12 янв. 2004
Gram думаешь будет удобней, если загружать мемберу в свою личную папку? По типу membername/№_membername.gif ?
Так даже функциональней будет - всегда можно вывести в список по каждому или еще как :)
Gram
Модератор раздела

Gram
Откуда: здешний
Всего сообщений: 566
Рейтинг пользователя: 14

Репутация пользователя: 1




Дата регистрации на форуме:
23 июля 2003
trew, да можно и в одну папку все складывать. Точнее в одну папку неотресайзенные картинки, в другую отресайзенные. Просто имя у файла будет примерно такое:

Gram_1070231370.jpg

где в начале идет ник, потом время загрузки...

А насчет того, чтобы создавать отдельную папочку: в принципе, идея неплохая (мне понравилась), но ведь этих папочек может накопиться очень много, а это многда не есть хорошо!
trew
Начинающий


Всего сообщений: 28
Рейтинг пользователя: 0





Дата регистрации на форуме:
12 янв. 2004
Gram за то легче выводить и уже функция здесь готовая есть: фотографии в профайле ;)
<<Назад  Вперед>>Модератор: GramПечать
Объединенный Открытый Проект »   Русский IkonBoard »   Форум поддержки русской версии IkonBoard »   Дополнение к upload.cgi
RSS
Быстрый переход в раздел:


Время выполнения скрипта: 0.0510. Количество выполненных запросов: 18, время выполнения запросов 0.0304