Добрый день.

Есть масса картинок на сайте. При необходимости можно скачать на компьютер всю папку с каталогами, а после переработки закинуть обратно на сайт.

Картинки представляют собой предметы на белом фоне. Формат jpg.

Проблема: на некоторых картинках изображение почти до краев канвы, на некоторых процентов 60-70 занимает. На многих смещено к одному из краев.

Задача: сделать так, чтобы полезное изображение на каждой картинке занимало 90% по большему размеру, и отцентрировать по обеим осям.

Алгоритм такой:

1. Берем картинку и смотрим размер. Например, 1600х1400 пикселей.

2. Вычисляем размер полезного изображения, сканируя от краев по горизонтали и вертикали до нахождения первого небелого пикселя с каждой из 4 сторон. Допустим, обнаружили, что полезное изображение на ней имеет размер 1200х600 пикселей.

3. Вычисляем коэффициент масштабирования, сравнивая размеры по горизонтали и вертикали: mw=1600*0.9/1200 = 1.2; mh=1400*0.9/600=2.1. m=min(mw, mh) = 1.2.

4. Увеличиваем полезное изображение до размеров 1200*1,2 х 600*1,2 = 1440х720 пикселей.

5. Размещаем его точно по центру канвы (ее размер не менять).

6. Перезаписываем файл с тем же именем (либо создаем полную копию исходной структуры в другой папке).

7. Берем следующий файл. Рекурсивно проходим все подпапки.

Поскольку картинок около 10 000, нужно решение, позволяющее все это прогнать в полностью автоматическом режиме. Скриптом в фотошопе, скриптом на php, отдельно написанным приложением под винду - неважно, как. Нужно именно работоспособное эффективное решение. Обработаю с его помощью сам потом, и буду продолжать использовать дальше при добавлении новых товаров на сайт.

Если решение будет самописное, нужно добавить опцию для задания процента заполнения канвы (может быть не 90%, а 80% или 85% окажется более красивым, например).

3 года назад
Raffail
50 лет
16 лет в сервисе
Был
3 года назад
8 отзывов

Выбранный исполнитель

novasoft31337
Артём 
41 год
4 года в сервисе
Был
год назад
3 года назад
$30
1 день
Escrow
Отличный исполнитель! Требуемый функционал реализован всего за сутки и недорого. Большое спасибо за качественную работу! P.S. Несколько дней спустя впечатлен еще больше. Артем использует вещи, о существовании которых в прикладных библиотеках я даже не догадывался, хотя в свое время сам был неплохим программистом. В итоге программа работает на порядки быстрее, чем это было бы при моем традиционном подходе. Очень рекомендую как грамотного специалиста, который идет в ногу со временем.
Сотрудничеством с Рафаэлем очень доволен! Четкое ТЗ, на все возникающие вопросы быстрые ответы, моментальное принятие работы. Однозначно, рекомендую Рафаэля как превосходного заказчика! Буду рад сотрудничеству в дальнейшем.

Заявки фрилансеров

novasoft31337
Артём 
41 год
4 года в сервисе
Был
год назад
3 года назад
  • Похожие заказы

  • $5

    Необходимо разработать приложение, которое будет считывать Excel файлы и предоставлять возможность их редактирования. Также приложение должно поддерживать функцию отправки email. Предоставьте пример Excel файла для работы.

    Закрыт
    3 года назад
  • Требуется создать Telegram-бота, который будет ежедневно отправлять данные из Google-таблиц в личные сообщения руководителя. Бот должен иметь возможность редактировать ссылку на документ, что позволит подменять таблицы ежемесячно. Основное внимание уделяется автоматизации процесса получения информации.

    Закрыт
    3 года назад
  • Требуется разработчик для создания платформы автоматического формирования смарт-контрактов по шаблону. Необходимо подключение кошельков и поддержка нескольких сетей. Опыт в данной сфере обязателен. Укажите примерную стоимость и сроки выполнения.

    Закрыт
    3 года назад
  • Требуется разработка программного обеспечения для изучения естественных наук, включая биологию, химию, физику и науку о земле. ПО должно поддерживать анимацию, исследование и слайды с возможностью включения звукового сопровождения.

    Закрыт
    3 года назад
  • Необходимо смоделировать рассеяние радиоволн СВЧ-диапазона в COMSOL на 4 моделях поверхностей. Требуется рассчитать коэффициент отражения на частотах 3, 10, 20 и 30 ГГц при углах падения 20, 45, 70 и 90 градусов, что дает 16 значений для каждой поверхности.

    Прикладное ПОнет заявок
    Закрыт
    3 года назад
  • $80

    Разработка скрипта для генерации ключей для программного обеспечения с привязкой по hvid. Необходимо реализовать управление ключами, а также форму для ввода ключа в ПО и отображение информации о количестве дней жизни лицензии.

    Прикладное ПО1 исполнитель
    Завершен
    3 года назад
  • Необходимо реализовать программу с использованием дифференциальной эволюции, следуя указанным шагам. A выбирается в диапазоне от -140 до -1, B от -70 до -1. Затем производится интеграция формул M1-M8, нахождение p, q, r, s и подстановка в J. Цикл повторяется для новых значений A и B.

    Прикладное ПОнет заявок
    Закрыт
    3 года назад
  • Требуется разработать скрипт на Python, который будет использовать clamd для сканирования файлов или директорий на наличие вирусов. Результаты сканирования должны быть записаны в файл. Используйте библиотеку clamd для реализации функционала.

    Прикладное ПО1 исполнитель
    Закрыт
    3 года назад
  • Требуется разработка прикладного ПО, которое будет отображать цифры на экране ноутбука или телевизора через HDMI. Программа должна отслеживать появление редкой желтой цифры и отправлять звуковой сигнал на телефон или в Telegram. Необходимо обеспечить стабильную работу и точность отображения.

    Закрыт
    3 года назад
  • Необходимо разработать простую программу на Делфи, соединяющую уже готовые экраны. Реализовать функционал добавления записей, связанный с Microsoft Access. Подробности будут предоставлены позже.

    Закрыт
    3 года назад