Delphi. Модуль для ручной расстановки копирайтов
1745 UAHНужно написать часть программы на Delphi (!). Коротко цель такая: вручную проставить водяные знаки на изображения с учётом их ресайза с возможностью быстро выбрать тот или иной водяной знак (одной клавишей). Функционал следующий.
1) Уже есть: а) некая "папка 1" с изображениями, она сканируется по маске (jpg, png), есть список файлов в ней; б) Заданы размеры, в которые изображение будет вписано (например, 1200x1200); в) Указывается "папка 2" с водяными знаками (прозрачные png), их несколько (до 9 штук), есть список
2 По очереди в окне, которое можно развернуть на весь экран, появляются изображения из "папки 1"
3 За мышью "тащится" первый водяной знак из папки "2". При нажатии пробела знак меняется на следующий ( и так по циклу). При нажатии на клавиши от 1 до 9 сразу выбирается по порядку один из знаков. При удержании Alt знак застывает в текущей позиции, появляется пипетка, которой можно "снять" цвет в любой точке картинки и этим цветом зальётся знак (то есть к прямоугольнику из выбранного цвета применяется маска из текущего png -файла) или выбрать цвет руками.
4 После левого клика мышью запоминается выбранный знак, его координаты, цвет заливки (если есть) и на экране сразу появляется следующая картинка из "папки 1". И снова к пункту 4
5 Сделать галочку "запоминать предыдущий выбор". С ней к следующей картинке сразу применяется предыдущий вариант знака.
6 После всех "прокликиваний" для каждого файла из "папки 1" мы должны иметь данные: 1) полное имя исходного файла 2) коэффициент масштабирования 3) имя файла с логотипом 4) заливка (цвет или отсутствие) 5) координаты логотипа после ресайза.
7 написать функцию для обработки одного изображения: ресайз (используя нашу функцию ресайза) + наложение прозрачного лого с учётом параметров (координаты и заливка)
На экране (например внизу) должен быть список всех изображений. Стрелки влево-вправо переходят к предыдущему/следующему изображению. Если мы переходим к картинке, где уже выбран знак (или применяются предыдущие настройки), просто отображаем его на выбранном месте, и за мышкой тоже "тащим", дав возможность знак "переставить".
Самое главное здесь - пропорции. Ресайз будет происходить до того, как будет "рисоваться" знак. То есть нужно отобразить знак в таких размерах, будто ресайз уже произошёл, и считать координаты из того, что ширина и высота картинки будут изменены (делать пересчёт экранных координат на реальные для конечного размера изображения). Качество масштабируемого для вывода на экран изображения можно делать средним или ниже среднего.
Ваша стоимость, сроки, примеры работ.
Спасибо!
Приложения 1