Генератор обоев для Андроида

Обои без резких цветовых переходов с удачно подобранной палитрой делают иконки и виджеты на экране разборчивей, облегчая работу с устройством. Я решил написать утилитку, позволяющую установить однотонные обои заданного цвета, а также обои в виде некого «гладкого» рисунка на основе нескольких выбранных цветов. Если по первому пункту вопросов нет, то с генерацией рисунка пришлось немного повозиться.

WPGen - палитра WPGen - одноцветные обои

Изначально замысел был раскидать фигуры указанных цветов случайной формы на холсте и размыть всё по Гауссу до неузнаваемости. Оказалось, однако, что размытие — довольно ресурсоёмкая операция, занимающая пару-тройку секунд даже на сравнительно неплохом железе. Использование RenderScript обещало быть быстрее, но, к сожалению, у ScriptIntrinsicBlur ограничен радиус размытия: приходилось либо работать с изображениями низкого разрешения, либо повторять процедуру несколько раз.

В итоге для первой версии я выбрал простой линейный градиент, оказавшийся весьма быстрым и дающим, на мой взгляд, довольно неплохой результат.

WPGen - выбор нескольких цветов WPGen - обои-градиент

Впрочем, меня не покидает желание вернуться к идее случайной генерации рисунка и его размытия. Кроме того, эксперименты показали, что отличный эффект дает добавление лёгкого монохроматического шума, которое, впрочем, тоже изрядно нагружает процессор. Если получится всё это оптимизировать, то добавлю в очередной версии.

В утилите уже зашито несколько десятков цветов, но есть возможность добавить любой другой, введя его шестнадцатеричный RGB-код.

Приложение можно скачать с F-Droid:

Скачать WPGen с F-Droid

Программа распространяется под лиценизией GPL 3+. Исходный код и багтрекер находятся на GitHub.

UPD: В версии 1.1 добавлен простой эффект «плазма» (по-прежнему статический):

WPGen - обои-плазма

Your comment: