База изображений в любых форматах и разрешениях / Хабр
liarenВремя на прочтение 3 мин
Количество просмотров4.3K
заказчик: Пусть аватарки пользователей у нас будут в 50×50 и 100×100, в JPEG заказчик: Надо переделать, чтобы аватарки были в PNG заказчик: Пусть аватарки будут в GIF, 25×25 и 40×40
разработчик: Готово
разработчик: Сделал
разработчик: Ага, проверяй
заказчик: Уже? Как ты это так быстро делаешь???
разработчик: …
- Все загружаемые изображения хранятся в оригинальном формате, что позволяет трансформировать их с минимальной потерей качества.
- В DOCUMENT ROOT создаётся пустая папка, в которую помещается .htaccess, который в случае обращения к несуществующему файлу передаёт выполнение proxy.

php. - proxy.php в зависимости от соответствия URL запроса некому шаблону, к примеру /img/avatars/{id}_big.jpg берёт изображение с идентификатором {id}, выполняет над ним ряд трансформаций, сохраняет в файл по адресу соответствующему запросу и перенаправляет клиента на тот же URL.
- При повторном запросе с тем же URL proxy.php уже не вызывается т.к. необходимый файл с изображением уже существует.
Для осуществления подобной схемы есть библиотека Primage, реализующая всё вышесказанное в красивом и лаконичном виде.
На базе этой самой Primage реализуем нашу версию proxy.php:
- // хранилище оригинальных изображений
- $avatarsStorage = new Primage_Proxy_Storage('data/avatars', 'jpg', 90);
- // хранилище трансформированных изображений
- $avatarsProxyStorage = new Primage_Proxy_Storage('public_html/img/avatars', 'jpg', 80);
-
- // роутер ассоциирующий шаблоны URL с контроллерами
- $router = new Primage_Proxy_Router(false);
-
- // контроллер для трансформации больших аватарок
- $avatarsBig = new Primage_Proxy_Controller_CopyById($avatarsStorage, $avatarsProxyStorage);
- $avatarsBig->addAction(new Primage_Proxy_Action_Resize(200, 300));
- $router->addController('avatars/{id}_big.
jpg', $avatarsBig);
-
- // контроллер для трансформации маленьких аватарок
- $avatarsSmall = new Primage_Proxy_Controller_CopyById($avatarsStorage, $avatarsProxyStorage);
- $avatarsSmall->addAction(new Primage_Proxy_Action_Resize(50, 50));
- $router->addController('avatars/{id}_small.jpg', $avatarsSmall);
-
- // контроллер для трансформации аватарок с динамическим разрешением (будьте острожнее с контроллерами этого класса т.к. злоумышленник может запустить избыточную генерацию изображений)
- $step = 50;
- $maxWidth = 1000;
- $maxHeight = 1000;
- $avatarsDynamic = new Primage_Proxy_Controller_CopyWithResize($avatarsStorage, $avatarsProxyStorage, $maxWidth, $maxHeight, $step);
- $router->addController('avatars/{id}_{width}x{height}.jpg', $avatarsDynamic);
-
- // обработка запроса соответствующим контроллером
- $controller = $router->getController($_SERVER['REQUEST_URI'], &$params);
- if($controller) {
- try {
- $controller->dispatch($params);
- header('Location: ' .
$_SERVER['REQUEST_URI']);
- exit;
- }
- catch(Primage_Proxy_Storage_SourceNotFound $e) {
- }
- catch(Primage_Proxy_Controller_RequestException $e) {
- }
- }
- header('HTTP/1.0 404 Not Found');
Это всё, что от нас потребовалось сделать, дальше дело за Primage, который кстати говоря включает в себя ещё несколько полезных функций в плане организации хранения и обработки изображений.
Скачать последнюю версию Primage, подписаться на обновления по RSS или поучаствовать в разработке можно на странице проекта.
Поздравляю всех с Праздником Дня Программиста!!!
Успехов нам всем! 🙂
Теги:
- php
- веб-разработка
- изображения
- картинки
- фотохостинг
Хабы:
- PHP
Всего голосов 157: ↑140 и ↓17 +123
Комментарии 153
liaren @liaren
Пользователь
Комментарии Комментарии 153
База стандартизированных изображений BOSS: адаптация
Перейти к содержимому
На странице представлены результаты русскоязычной адаптации базы стандартизированных фотографий Bank of Standardized Stimuli (BOSS).
Запросить доступ к базе можно на сайте: https://sites.google.com/site/bosstimuli. Примеры стимулов:
Таблица со значениями параметров адаптации для каждой из 542 фотографий вскоре будет доступна на сайте журнала «Психология. Журнал Высшей школы экономики». Для получения данных в более короткие сроки просим Вас написать авторам адаптации (контакт: Михаил Сопов, [email protected]).
Параметры оценки фотографий
В ходе адаптации стимулов (542 фотографий) испытуемые называли изображённые предметы и оценивали их по ряду параметров, являющихся потенциальными внешними переменными в экспериментальных исследованиях. Параметры:
- Согласованность наименований (name agreement) — количество респондентов, давших изображённому предмету наиболее частотное для данного предмета наименование.
- Знакомость (familiarity) — субъективная оценка знакомости предмета по пятибалльной шкале.
- Визуальная сложность (visual complexity) — субъективная оценка сложности графического исполнения изображения по пятибалльной шкале.

- Согласованность категорий (category agreement) — процент испытуемых, причисливших предмет к наиболее частотной для данного предмета категории.
- Согласованность предметов (object agreement) — степень соответствия образа предмета, возникающего при прочтении его наименования, рисунку предмета безотносительно к ракурсу фотографии (оценка производится по пятибалльной шкале)
- Согласованность ракурсов (viewpoint agreement) — аналогичный параметр, относящийся к ракурсу фотографии (оценка производится по пятибалльной шкале).
- Очевидность манипуляции (manipulability) — субъективная оценка сложности опознания предмета по действию, обычно выполняемому с этим предметом (оценка производится по пятибалльной шкале).
Исследование проведено при поддержке гранта РФФИ № 17-36-01139.
Публикации, посвящённые русскоязычной адаптации «BOSS»:- Сопов М.С., Стародубцев А.С., Мирошник К.Г., Шиндриков, Р.Ю. База стандартизированных изображений BOSS: адаптация для использования на русскоязычной выборке // Психология.
Журнал Высшей школы экономики. 2019. Т.16. № 4. С. 690-704. - Sopov, M, Miroshnik, K, Shindrikov, R, Starodubtsev, A. Russian normative data for 552 ecological pictures from the Bank of Standardized Stimuli (BOSS) // 40th European Conference on Visual Perception (ECVP). 2017. Abstracts.
- Сопов М.С., Мирошник К.Г., Стародубцев А.С. Адаптация базы стандартизированных изображений BOSS на русскоязычной выборке: часть I // Материалы конференции Когнитивная наука в Москве: новые исследования. Материалы конференции 15 июня 2017 г. Под ред. Е.В. Печенковой, М.В. Фаликман. – М.: ООО «Буки Веди».
База изображений
Производство видеоУзнайте больше о наших возможностях видео и посмотрите некоторые из наших работ.
Подробнее
Посмотрите, как мы доставляем незабываемые впечатления с помощью живых мероприятий.
Подробнее
Свяжитесь с нами Деловой смысл
Имея многолетний опыт работы как во внутренних, так и во внешних коммуникациях, мы обладаем глубокими знаниями бизнеса в различных отраслях — от потребительских товаров до технологий, здравоохранения, некоммерческих организаций и профессиональных услуг.![]()
Выделенный персонал
Image Base поддерживает штатный штат руководителей по работе с клиентами и специалистов по творческому производству. Эта модель обеспечивает последовательность и способствует глубокому пониманию вашей компании, руководства и брендов. Результат? Более высокая эффективность, которая экономит ваши деньги и время, большая гибкость масштабирования в зависимости от масштаба вашего проекта, а также быстрый запуск проектов в сжатые сроки — и все это при сохранении высочайшего уровня качества и творчества.
Креативные специалисты
Команда Image Base состоит из увлеченных людей, которым нравится то, что мы делаем.
Наша креативность в сочетании с самыми современными инструментами и энергичной рабочей этикой побуждает нас создавать высококачественные видеоролики и мероприятия, которые поддерживают ваши цели. От разработки концепции до окончательной реализации проекта наша сплоченная команда продюсеров, режиссеров, дизайнеров, аниматоров и редакторов занимается каждым этапом производственного процесса. Каждый день мы стремимся удовлетворить вашу потребность в увлекательном, эффективном общении, поддерживая вас и то, что вы делаете.
Взгляните на несколько примеров творчества и безупречного исполнения, которые Image Base может привнести в ваш проект.
Нам доверяют наши клиенты «Ваш творческий подход, профессионализм, внимание к деталям и ориентация на обслуживание клиентов помогли создать невероятные медиа и моменты для нашей аудитории».
«Спасибо вам и вашей команде за управление видеосъемкой по всему миру… Вклад вашей команды действительно воплотил в жизнь наши идеи по установлению эмоционального контакта с людьми».
— Юнивар Солюшнс«Сказать, что кабина виртуальной реальности и видео были хорошо приняты, было бы сильным преуменьшением. Это был ошеломляющий успех! Спасибо за вашу блестящую работу».
— В.В. ГрейнджерПроизводство видео — База изображений
Недавняя работа Положитесь на то, что мы приложим к работе наш деловой опыт, креативность и техническую смекалку.
Будь то провокация эмоций, создание впечатления, вдохновение для изменений или передача знаний — мы создаем видео, которые будоражат умы.
Внутренняя связь
Анимация
Социальные сети
Некоммерческая организация
Профессиональные услуги
Здравоохранение
Потребительские товары
Международный
Вербовка
Социальная ответственность
История
Производство
Образование
Обучение
«Я люблю вас, ребята… никакой драмы — вы просто делаете это!»
— Кондитерская фабрика Mars Wrigley «Согласно мнению, Image Base была потрясающей.

