Дополнение к upload.cgiдля регулирования размера картинок
Текущий рейтинг темы: Нет
trew
Начинающий
Всего сообщений: 28 Рейтинг пользователя: 0
Дата регистрации на форуме: 12 янв. 2004
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 25 марта 2005 10:32
Добрый день! Помогите реализовать очень нужную штучку-дополнение к загрузке картинок на форум, - совмещение с модулем Image::Magick по примеру:
http://emanual.ru/download/5169.html
Честно говоря у меня не получается совместить их...
За ранее , спасибо!
| | |
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
Откуда: Москва Всего сообщений: 2994 Рейтинг пользователя: 79 Дата регистрации на форуме: 29 сен. 2001
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 25 марта 2005 15:28
Предлагаю перейти на Intellect Board, там это есть сразу.
--- Каждый человек всегда может найти, чем он может быть полезен окружающим. Проблема только в одном: слишком многие не хотят это искать.
| | |
Gram
Модератор раздела
Откуда: здешний Всего сообщений: 566 Рейтинг пользователя: 14 Репутация пользователя: 1Дата регистрации на форуме: 23 июля 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 25 марта 2005 15:36
trew, а что конкретно ты хочешь реализовать через Image::Magick?
Кстати, загрузку аватаров в профиле я у себя реализовывал через GD... | | |
trew
Начинающий
Всего сообщений: 28 Рейтинг пользователя: 0
Дата регистрации на форуме: 12 янв. 2004
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 25 марта 2005 19:38
XXXX Pro
[q] Предлагаю перейти на Intellect Board, там это есть сразу. [/q]
Согласен, но пхп и мускул я только начинаю смотреть, то есть я еще даже к нулю не подошел .....
Gram
Когда пользователи загружают картинки в пост, картинки все разного размера... И если ограничить по кбт можно, то по ширине растягивается все....
Я думал с помощью этого модуля приспособить загружать уже картинки без потери качества( и кучей других функций), а потом их вставлять как обычно...
GD для этого не совсем годится - много ограничений, по сравнению с мэджеком.... | | |
Gram
Модератор раздела
Откуда: здешний Всего сообщений: 566 Рейтинг пользователя: 14 Репутация пользователя: 1Дата регистрации на форуме: 23 июля 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 26 марта 2005 0:35
trew, как я понял, ты хочешь реализовать автоматический ресайзинг загруженных картинок. Т.е. пользователь к примеру грузит картинку 1600х1200, а скрипт ресайзит её к примеру в 640х480? А если картинка меньше 640х480, то она грузится неотресайзенной? Так?
Или так хочешь уже при выоде картинки в посте ресайзить?
Я насчет этого много думал (когда то). Ничего умного не придумал, как сделать в структуре файла сообщений еще одно поле для имени загруженного файла, а в форму для отправки сообщений приделать поле для загрузки файла (ну вот как сейчас на этом форуме). Тогда можно будет при выводе поста автоматически вставлять закаченную картинку (отресайзенную превьюшку) со ссылкой на нормальную картинку (неотресайзенную) с указанием всех параметров изображения. В принципе - реализовывается это не очень сложно, только вот я решил, что оно того не стоит Хотя хз... Если время будет - реализую. А пока могу только помощь в реализации (типа что не получается, какие ошибки и т.д.)
Кстати, никто не в курсе как в GD заюзать анимацию у gif? Ну вот не хочет он видеть анимацию и все! Только первый фрейм... У Image::Magick как с этим? Нормуль? | | |
trew
Начинающий
Всего сообщений: 28 Рейтинг пользователя: 0
Дата регистрации на форуме: 12 янв. 2004
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 26 марта 2005 0:59
Gram
[q] Т.е. пользователь к примеру грузит картинку 1600х1200, а скрипт ресайзит её к примеру в 640х480? А если картинка меньше 640х480, то она грузится неотресайзенной?[/q]
Да, точно так Потому что , если делать на вывод, то слишком много проверок везде нужно ставить, мне так кажется....
Оно стоит того.... например возьмем атач.cgi, который уже установлен к 4 версии, при загрузке картинки вылазить ява-ссылка, я кликаю ( как по имени) и ( картинка) автоматом вставляется в пост.... Можно записать два варианта картинки с разными размерами и данными, и вывести две ссылки - одни маленькая превьюшка и большая нормальная..., то есть на сервер кладется два файлика уже в разные папки , а вывести уже можно додумать....
[q] У Image::Magick как с этим?[/q]
Судя по описанию, вроде работает со всеми форматами и анимацией в том числе. Поэтому и тянет использовать его
| | |
Gram
Модератор раздела
Откуда: здешний Всего сообщений: 566 Рейтинг пользователя: 14 Репутация пользователя: 1Дата регистрации на форуме: 23 июля 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 26 марта 2005 2:05
trew написал: [q] Можно записать два варианта картинки с разными размерами и данными[/q]
Смысл понятен. Ок. Гляну на возможности Маджика... Посмотрим, как легко это будет реализовать...
Дело за малым. Найти модуль Magick для 8 билда перла. Нет нигде. | | |
trew
Начинающий
Всего сообщений: 28 Рейтинг пользователя: 0
Дата регистрации на форуме: 12 янв. 2004
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 26 марта 2005 3:03
Gram Спасибо!
Сам модуль: http://search.cpan.org/~jcristy/PerlMagick-6.20/Magick.pm
Вот только наверно надо узнать какой у хостера моего стоит? Потому что это последний выпуск.... | | |
Gram
Модератор раздела
Откуда: здешний Всего сообщений: 566 Рейтинг пользователя: 14 Репутация пользователя: 1Дата регистрации на форуме: 23 июля 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 26 марта 2005 3:33
Дык мне б под винду надо... Я вот только не знаю подойдет ли Маджик для 6 билда к 8 билду... | | |
trew
Начинающий
Всего сообщений: 28 Рейтинг пользователя: 0
Дата регистрации на форуме: 12 янв. 2004
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 28 марта 2005 16:00
Gram
У хостера вроде то же винда... Я в суппорт отправил вопрос, какой модуль стоит, чтоб взять ссылку на него. Может действительно в разных версиях есть отличия... | | |
Gram
Модератор раздела
Откуда: здешний Всего сообщений: 566 Рейтинг пользователя: 14 Репутация пользователя: 1Дата регистрации на форуме: 23 июля 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 28 марта 2005 17:02
trew, ну а пока ищется можуль, можно поразмышлять над реализацией Я вот хз как там реализовывается в Маджике, но вот в GD для каждого типа картинок нужно создавать новый объект. Т.е. как я думаю, закачиваем картинку, смотрим ее тип и в зависимости от типа создаем превьюшку...
XXXX Pro, ты что на это скажешь? | | |
trew
Начинающий
Всего сообщений: 28 Рейтинг пользователя: 0
Дата регистрации на форуме: 12 янв. 2004
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 28 марта 2005 19:00
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
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 28 марта 2005 20:01
Для винды: http://www.simplesystems.org/ImageMagick/www/advanced-windows-installation.html | | |
Gram
Модератор раздела
Откуда: здешний Всего сообщений: 566 Рейтинг пользователя: 14 Репутация пользователя: 1Дата регистрации на форуме: 23 июля 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 28 марта 2005 21:24
trew, ну это я и имел ввиду. Только можно тип картинки определять с помощью самого Маджика, а не ScanIMG + надо будет убрать столь раздражающую меня необходимость каждый раз вводить имя файла. Это настолько глупо, что даже и не знаю В общем надо генерировать имя файла автоматически, к примеру имя файла будет такой: ник_time.тип, а превюшки будут иметь тоже имя, только в папочке preview...
Насчет модуля - гляну, спасибо. | | |
trew
Начинающий
Всего сообщений: 28 Рейтинг пользователя: 0
Дата регистрации на форуме: 12 янв. 2004
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 29 марта 2005 2:25
Gram думаешь будет удобней, если загружать мемберу в свою личную папку? По типу membername/№_membername.gif ?
Так даже функциональней будет - всегда можно вывести в список по каждому или еще как | | |
Gram
Модератор раздела
Откуда: здешний Всего сообщений: 566 Рейтинг пользователя: 14 Репутация пользователя: 1Дата регистрации на форуме: 23 июля 2003
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 29 марта 2005 5:25
trew, да можно и в одну папку все складывать. Точнее в одну папку неотресайзенные картинки, в другую отресайзенные. Просто имя у файла будет примерно такое:
Gram_1070231370.jpg
где в начале идет ник, потом время загрузки...
А насчет того, чтобы создавать отдельную папочку: в принципе, идея неплохая (мне понравилась), но ведь этих папочек может накопиться очень много, а это многда не есть хорошо! | | |
trew
Начинающий
Всего сообщений: 28 Рейтинг пользователя: 0
Дата регистрации на форуме: 12 янв. 2004
|
Профиль | Сообщить модератору | ИгнорироватьNEW! Сообщение отправлено: 29 марта 2005 18:11
Gram за то легче выводить и уже функция здесь готовая есть: фотографии в профайле | | |
Время выполнения скрипта: 0.0510. Количество выполненных запросов: 18, время выполнения запросов 0.0304
|