Приложение в рамках совревнования Yandex Cup 2024
Привожу список реализованных функций, а далее рассказываю о каждой подробно
Основные функции
- Рисование при помощи карандаша
- Стирание при помощи ластика
- Выбор цвета из палитры
- Удаление текущего кадра
- Добавление нового кадра
- Проигрывание и остановка анимации
Дополнительные функции
- Генерация N случайных кадров
- Панель с раскадровкой для навигации по анимации
- Дублирование текущего кадра
- Удаление всех кадров сразу
- Настройка скорости воспроизведения анимации
- Экспорт анимации в GIF с возможностью поделиться
- Выбор кастомного цвета рисования из RGB палитры
- Инструменты для рисования геометрических фигур (есть возможность рисовать прямоугольники, эллипсы и линии, но нет возможности их редактировать: изменять размер или поворачивать)
- Изменение толщины карандаша и ластика
- Реализация стека действий для многократной отмены или возврата
- Увеличение холста при помощи pinch-to-zoom
- Иконка приложения
- Полноценная поддержка светлой и темной тем
Если в нижней панели выбрать карандаш и водить пальцем по экрану - будет отрисовываться путь карандаша. Если выбрать ластик – можно стересть рисунок. Реализована маленькая и расширенная палитры по макетам
Simulator.Screen.Recording.-.iPhone.15.Pro.-.2024-11-05.at.01.11.06.mp4
По тапу на кнопки в верхней панели можно создать новый кадр или удалить текущий (который сейчас демонстируется). Если остался один кадр, то удалить его не выйдет
Simulator.Screen.Recording.-.iPhone.15.Pro.-.2024-11-05.at.01.14.45.mp4
При помощи кнопок плей и пауза можно запускать и останавливать анимацию. Во время проигрывания иструменты редактирования кадров недоступны
Simulator.Screen.Recording.-.iPhone.15.Pro.-.2024-11-05.at.01.17.22.mp4
По лонгтапу на кнопку добавления кадра можно перейти к меню генерации случайных кадров. Я генерирую случайной перемещение проекции трехмерного куба. Миллион кадров занимает примерно 1.5 ГБ
Simulator+Screen+Recording+-+iPhone+15+Pro+-+2024-11-05+at+01.20.28.mp4
Можно открыть по тапу на кнопку в верхней панели. Из панели с раскадровкой можно перейти к любому интересующему кадру и отредактировать его
Simulator.Screen.Recording.-.iPhone.15.Pro.-.2024-11-05.at.01.27.31.mp4
По лонгтапу на кнопку добавления кадра можно открыть меню с возможностью подублировать текущий кадр и поставить его в конце анимации. После дублирования происходит переход к созданному кадру
Simulator.Screen.Recording.-.iPhone.15.Pro.-.2024-11-05.at.01.42.01.mp4
По лонгтапу на кнопку удаления кадра можно открыть меню с возможностью удалить все кадры сразу. После удаления появляется единственный пустой кадр
Simulator.Screen.Recording.-.iPhone.15.Pro.-.2024-11-05.at.01.42.34.mp4
По лонгтапу на кнопку воспроизведения можно перейти к меню изменения скорости анимации в FPS (кадры в секунду). Доступны значения от 5 до 60. По нажатию на галочку значение применится, как для анимации, так и для генерируемых GIF файлов
Simulator.Screen.Recording.-.iPhone.15.Pro.-.2024-11-05.at.01.43.11.mp4
В правом нижнем углу находится кнопка поделиться, которая запускает процесс генерации GIF файла, а по завершению открывает экран шеринга. Файлы рамером до 1000 кадров генерируются достаточно быстро. Если больше – нужно подождать
Simulator.Screen.Recording.-.iPhone.15.Pro.-.2024-11-05.at.01.43.39.mp4
По второму тапу на палитру цветов будет открыта RGB палитра. По нажатию на галочку цвет будет выбран
Simulator.Screen.Recording.-.iPhone.15.Pro.-.2024-11-05.at.01.44.18.mp4
Реализованы три фигуры: прямоугольник, эллипс и линия. Выбрать можно в нижней панели. Но после рисования редактировать их нельзя, только отменить действие
Simulator.Screen.Recording.-.iPhone.15.Pro.-.2024-11-05.at.01.44.45.mp4
По тапу на кисточку в нижней панели можно изменить толщину карандаша и ластика
Simulator.Screen.Recording.-.iPhone.15.Pro.-.2024-11-05.at.01.46.00.mp4
Кнопки в правом верхнем углу позволяют отменять или возвращать действия редактирования холста