AIMP Forum

AIMP for Android => Skin Editor, Skin Engine => Предложения / Suggestions => Topic started by: Xaker_Two on September 17, 2023, 22:14:11

Title: Возможность задавать градиент в качестве значения Skins
Post by: Xaker_Two on September 17, 2023, 22:14:11
Иногда есть необходимость сделать плавный переход из одного цвета в другой и сейчас это можно сделать лишь через задание текстуры двумя способами
- прямоугольник 4х4 или 3х4 пикселя с 2-4 нужными цветами для линейного градиента(абъюз смуза)
- запекание градиента нужной формы в текстуру целиком/нужного размера

Проблем тут несколько, особенно при сведении двух не произвольных цветов(т.е. градиент не просто фантазия автора, а переход между областями разных цветов)
 - при изменении сводимых цветов надо будет либо обновлять пиксели либо целиком перезапекать градиент
 - при залитии фона простым цветом а не текстурой это доп геморой с обновлением текстур
 - запеченый градиент может пикселизироваться на бОльших разрешениях
 - гарадиенту надо место = увеличение размера текстуры х количество тем = кратное увеличение размера скина

Предложение в том чтобы дать возможность задавать градиенты для мест где это применимо, в частности для свойства Skins.

В идеале сделать поддержку
 - простейших форм градиента(линейного, радиального и возможно конического)
 - любого количества цветов
 - позиций цветов
 - угла направления/старта градиента
 - позиций центра смешения цветов
Но это в идеале и в будущем.

А конкретно сейчас мне пришлась бы очень кстати линейка на два/три цвета с возможностью выбора направления (вертикаль/горизонталь) и позиции цветов.

Проблемы - рантайм, а точнее то что градиентная часть скина будет считаться прямо на устройстве при каждой перерисовке
Возможное решение - сделать кеш для подобных динамических текстур и считать его сразу после применения скина в максимально возможном для данного устройства масштабе и для всех макетов. Хотя это потребует дополнительного места для хранения текстур(ы).


p.s. спотовые градиенты... ну эт былоб неплохо но если желания хватит и будет необходимость