[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Хороший класс загрузки фотографии
m4a1fox
Доброго всем времени суток... Хочется порассуждать на тему, довольно щепетильную для многих, а именно о загрузке файлов... а точнее о том, как и что должен делать класс, что бы с ним было приятно работать. Итак... кто что думает по этому поводу? Пожалуй я начну. Что хочется что бы класс делал:
  • 1. Естественно просто встраивался в страницу(1-2 максимум 3 строчки).
  • 2. Делал уменьшенную копию.
  • 3. Принимал сразу внутри себя настройки.
    Какие:
    • 1 - само поле из формы с фото.
    • 2 - папку для заргузки картинок
    • 3 - Высота и ширина миникопии
  • 4. Умел накладывать водяной знак.
  • 5. возвращал массив из путей к первому и второму файлу
  • 6. Имел настройки в общем файле конфигурации.
    Какие:
    • 1 - Качество 1-100.
    • 2 - Как уменьшать копию.
    • 3 - Ширина большой картинки
    • 4 - Высота большой картинки
    • 5 - Массив разрешенных расширений форматов картинок
    • 6 - Массив других разрешенных расширений файлов
    • 7 - Строка символов из кот. создается имя файла
    • 8 - Путь к водяному знаку
    • 9 - TRUE/FALSE для создания водяного знака
    • 10 - И позиция водяного знака(top-left, top-center, top-right, middle-left, middle-center, middle-right, bottom-left, bottom-center, bottom-right)

Кто что еще считает правильным встроить в класс... Прошу высказываться.



Спустя 19 минут, 59 секунд (23.03.2012 - 18:09) alex12060 написал(а):
Ого, ты прямо перечислил мое недавнее ТЗ к разработке класса аплоадинга изображений)

Я бы еще добавил:
  • Сохранение пропорций
  • Указание массива конфигураций для создания изображений (их уменьшенных копий)
  • Возможность выкачки с стороннего сайта и применение к нему тех же действий

Ну а еще можно много много слов писать

Спустя 3 минуты, 58 секунд (23.03.2012 - 18:13) m4a1fox написал(а):
alex12060
Цитата
Сохранение пропорций

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

За это абстрактный класс отвечает... ну в принципе тоже имеется....
А вот
Цитата
Возможность выкачки с стороннего сайта и применение к нему тех же действий

Об этом как-то и не подумал. Спс. Возьму на заметку...

Спустя 6 минут, 43 секунды (23.03.2012 - 18:20) m4a1fox написал(а):
Ах да.... и еще, при инициализации класса, если массив с настройками для миникопии пуст - то не создавать миникопию... думаю это логично.

Спустя 5 минут, 47 секунд (23.03.2012 - 18:26) zeromind написал(а):
давно перешел на imagick ), а если попадется шаред хост - то имеется один класс, тут его как то постли smile.gif

Спустя 2 минуты, 36 секунд (23.03.2012 - 18:29) m4a1fox написал(а):
zeromind
Цитата
давно перешел на imagick ), а если попадется шаред хост - то имеется один класс, тут его как то постли

Не совсем понятна суть вашего поста.

Спустя 3 минуты, 48 секунд (23.03.2012 - 18:32) Bodich написал(а):
Цитата (zeromind @ 23.03.2012 - 15:26)
- то имеется один класс, тут его как то постли


ага, в теме "Готовые решения" , 90% этого уже сделано smile.gif

Спустя 6 минут, 49 секунд (23.03.2012 - 18:39) sebastjan написал(а):
Меня лично интересует загрузчик на Флексе с возможностью ресайза и других фишек типа наложение надписи.
Всё на стороне клиента. Это плюс.


Спустя 13 секунд (23.03.2012 - 18:39) m4a1fox написал(а):
Bodich
Цитата
90% этого уже сделано

И это плохо?

Спустя 14 минут, 58 секунд (23.03.2012 - 18:54) zeromind написал(а):
Цитата (m4a1fox @ 23.03.2012 - 18:39)
Bodich
Цитата
90% этого уже сделано

И это плохо?

держи, класс постил INSIDIOUS, его разработка, думаю разберешся чё да как, не плохо прокомментирован! Класс умеет налаживать вотермарк как картинку так и текст..
алгоритм работы похож на imagick, есть 1 баг - при crop preview - делает вырец по высоте сверху, а не с центру, думаю фиксануть не проблема !

Спустя 13 минут, 22 секунды (23.03.2012 - 19:08) Bodich написал(а):
Цитата (m4a1fox @ 23.03.2012 - 15:39)
90% этого уже сделано

И это плохо?

это не плохо , я бы сказал хорошо , ну если есть время и желание можно свой писать ..

Ищу, такое дело, загрузку формы и сразу несколько фоток одновременно и без перезагрузки страници , может кто встречал ?

Спустя 7 минут, 43 секунды (23.03.2012 - 19:15) m4a1fox написал(а):
zeromind
Цитата
держи, класс постил INSIDIOUS, его разработка, думаю разберешся чё да как, не плохо прокомментирован! Класс умеет налаживать вотермарк как картинку так и текст..
алгоритм работы похож на imagick, есть 1 баг - при crop preview - делает вырец по высоте сверху, а не с центру, думаю фиксануть не проблема !

Спасибо конечно... но то что описано в первом посте этого топика я сделал. Мне интересно что еще не хватает.
Bodich
Цитата

Ищу, такое дело, загрузку формы и сразу несколько фоток одновременно и без перезагрузки страници , может кто встречал ?

на jquery есть....

Спустя 2 минуты, 8 секунд (23.03.2012 - 19:18) zeromind написал(а):
Цитата (Bodich @ 23.03.2012 - 19:08)
Цитата (m4a1fox @ 23.03.2012 - 15:39)
90% этого уже сделано

И это плохо?

это не плохо , я бы сказал хорошо , ну если есть время и желание можно свой писать ..

Ищу, такое дело, загрузку формы и сразу несколько фоток одновременно и без перезагрузки страници , может кто встречал ?

встречал, гугли - uploadify
очень прост в использовании, ставиш сам кол-во сессии файлов + ограничения на JS можно ставить, типо формат файлов, размер..
легко вместе с FILES массивом отравить JSON в придачу) инфу так сказать дополнительную))
есть прогресс бар в кб/с и %-ах

есть методы различных событий, типо начала загрузки и конца и тд)
могу показать пример реализации) пиши в личку

Спустя 2 минуты, 32 секунды (23.03.2012 - 19:20) zeromind написал(а):
Цитата (m4a1fox @ 23.03.2012 - 19:15)
zeromind
Цитата
держи, класс постил INSIDIOUS, его разработка, думаю разберешся чё да как, не плохо прокомментирован! Класс умеет налаживать вотермарк как картинку так и текст..
алгоритм работы похож на imagick, есть 1 баг - при crop preview - делает вырец по высоте сверху, а не с центру, думаю фиксануть не проблема !

Спасибо конечно... но то что описано в первом посте этого топика я сделал. Мне интересно что еще не хватает.
Bodich
Цитата

Ищу, такое дело, загрузку формы и сразу несколько фоток одновременно и без перезагрузки страници , может кто встречал ?

на jquery есть....

ты собрался писать свой класс?
всё что ты описал вполне расширенные классы загрузчика, конечно могут понадобится индивидуальные настройки, но это уже косметические изменения))

не советую тебе писать с НУЛЯ свой класс), возми готовый и модифицируй под себя.
в сети куча инфы, только время потеряеш, если всё работает, что ещё нужно? )

Спустя 34 секунды (23.03.2012 - 19:21) m4a1fox написал(а):
Да чего парить.... http://habrahabr.ru/post/140400/

Спустя 1 минута, 5 секунд (23.03.2012 - 19:22) m4a1fox написал(а):
zeromind
Цитата
если всё работает, что ещё нужно

А как же разобраться. ИМХО - свой велосипед круче. Когда ты все про него знаешь.

Спустя 54 секунды (23.03.2012 - 19:23) zeromind написал(а):
Цитата (m4a1fox @ 23.03.2012 - 19:21)
Да чего парить.... http://habrahabr.ru/post/140400/

на днях кстате он не работал))
сейчас всё ок..
хотел бы спросить, кто юзал фреймворк этот Твиттер бутстрап? как он вообще вам?

Спустя 1 минута, 17 секунд (23.03.2012 - 19:24) m4a1fox написал(а):
zeromind
Аааааааааааааа мы отклоняемся..... ща затянет в омут оффтопа.... напомню тему
Кто что еще считает правильным встроить в класс... Прошу высказываться.

Спустя 7 минут, 8 секунд (23.03.2012 - 19:31) Игорь_Vasinsky написал(а):
своя рубаха ближе к тела) но у меня коженный педжачёк от инсидиуса...

Спустя 2 минуты, 59 секунд (23.03.2012 - 19:34) m4a1fox написал(а):
Игорь_Vasinsky
Цитата
но у меня коженный педжачёк от инсидиуса...

Везет.... smile.gif
Значит как бы пока что оптимально как я понял....

Спустя 3 минуты, 37 секунд (23.03.2012 - 19:38) Игорь_Vasinsky написал(а):
ну упорно я его не юзал, но по изучал, возможностей выше крыши и радует наложение водянного знака. Да и в ООП я никто))

Спустя 1 час, 2 минуты, 1 секунда (23.03.2012 - 20:40) Bodich написал(а):
zeromind, написал в личку ...

Спустя 1 минута, 45 секунд (23.03.2012 - 20:41) m4a1fox написал(а):
Игорь_Vasinsky
Цитата
радует наложение водянного знака

Ну я это тоже реализовал... когда получилось радовался как ребенок.

Спустя 2 минуты, 47 секунд (23.03.2012 - 20:44) Игорь_Vasinsky написал(а):
а я стал коллекционировать классы))) не думал.. но оказ-тя полезно.

Спустя 2 минуты, 1 секунда (23.03.2012 - 20:46) m4a1fox написал(а):
Игорь_Vasinsky
Цитата
а я стал коллекционировать классы

Не в укор Игорь, а я стараюсь писать сам... это приятно.

Спустя 2 минуты, 8 секунд (23.03.2012 - 20:48) Игорь_Vasinsky написал(а):
аналогично. но я тока начинающий Гуру в ООП)))))))))) стыдно, но производительно.

Спустя 1 минута, 39 секунд (23.03.2012 - 20:50) m4a1fox написал(а):
Да я как бы тоже не совсем шарю.... sad.gif Хочется всего знать много много... но голова может лопнуть... а так в общем приходится разрываться... времени катастрофически не хватает!

Спустя 1 минута, 24 секунды (23.03.2012 - 20:51) Игорь_Vasinsky написал(а):
это ты ещё годик холостой будешь))) а потом его астрономически катастрофически хватать не будет))))))))

Спустя 3 минуты, 51 секунда (23.03.2012 - 20:55) m4a1fox написал(а):
Игорь_Vasinsky
Цитата
это ты ещё годик холостой будешь))) а потом его астрономически катастрофически хватать не будет))))))))

sad.gif sad.gif sad.gif sad.gif sad.gif sad.gif sad.gif sad.gif sad.gif sad.gif sad.gif sad.gif sad.gif sad.gif sad.gif sad.gif sad.gif sad.gif sad.gif sad.gif sad.gif

Спустя 3 минуты, 43 секунды (23.03.2012 - 20:59) Игорь_Vasinsky написал(а):
що сталося? blink.gif все ж за планом?

Спустя 2 часа, 17 минут, 48 секунд (23.03.2012 - 23:17) inpost написал(а):
Указывать ограничители по ширине высоте размеру (min, max).
Указывать размеры, до которых уменьшать и увеличивать картинку.
200х100 картинка, из неё надо получить картинку 50х50. Подумать над алгоритмом. Дать 2 варианта - залить фон (картинка будет 50х25), либо увеличение (100х50), а потом вырезать. В таком случае нужно иметь превью как будет это выглядеть.

Сделать возможность заливать без перезагрузки и возвращать результат как путь, чтобы можно было вмонтировать в любую форму.

А вообще, работы очень много. Ты начни, хотя бы с минимума.

Спустя 20 минут, 32 секунды (23.03.2012 - 23:37) m4a1fox написал(а):
Игорь_Vasinsky
Цитата
все ж за планом?

Да за планом.... времени тогда совсем мало останется!

Спустя 1 минута, 24 секунды (23.03.2012 - 23:39) m4a1fox написал(а):
inpost
Цитата
Ты начни, хотя бы с минимума

Мне иногда кажется, что меня игнорируют.... я ж говорю.... все что написано в первом посте топика - сделано!

Спустя 2 минуты, 25 секунд (23.03.2012 - 23:41) m4a1fox написал(а):
inpost
Цитата
Указывать ограничители по ширине высоте размеру (min, max).

Тут как бы в файле конфига - можно выставлять width & height - тогда будет загружаться основная картинка таким установленным расширением.
Цитата
Указывать размеры, до которых уменьшать и увеличивать картинку

При инициализации класса в конструктор передается массив array(W, H) - по кот. нужно уменьшать копию... если там пусто то копию не делать.

Спустя 8 часов, 16 минут, 39 секунд (24.03.2012 - 07:58) johniek_comp написал(а):
А уменьшение как идет? Наприм.
 Image::creat(300, 150, 150,75);


если так то попробуй сделать само уменьшение, пропорционально, что бы ты только вводил размер, а уменьшало само по этому размеру

Спустя 5 часов, 30 минут, 43 секунды (24.03.2012 - 13:28) m4a1fox написал(а):
johniek_comp
Перечитай топик.

Спустя 19 минут, 28 секунд (24.03.2012 - 13:48) ADiel написал(а):
Цитата
все ж за планом

И мне парочку smile.gif

Кстати, наложение водяного знака пишется в 2-3 строчки.

Ув. m4a1fox, я бы посоветовал просто выложить максимально документированный код на github, а потом просто пиарить его smile.gif
Если он полезен, люди будут присылать патчи. А я напишу пост в блог, сам внесу несколько правок и буду использовать, если оно того стоит =)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.