Каталог решений - Раскрашиваем макет динамически

Раскрашиваем макет динамически

Раскрашиваем макет динамически

В наличии

Очень часто возникает задача как-то дополнительно выделять выводимую в отчетах информацию. В типовых отчетах есть флажок "Раскрашивать группировки" (или как-то так). Там сделано немудрённо — статические области с разными цветами.

Категория:

Описание

А что делать, если нужно выводить группировки раскрашенные как разными цветами, так и раскрашенные  с различной яркостью и/или насыщенностью цвета в зависимости от уровня иерархии группировки?

Скорей всего приходит на ум (на мой, по-крайней мере :)) модели преобразования угла оттенка, уровней яркости и насыщенности: HSL и HSB. Вот крайне простейший пример:

СтруктураСоответствияЦветов = Новый Соответствие;

Для НомерСтрокиИзмерения = 0 По 20 Цикл

    насыщенность = 30; // процент

    оттенок = 20*НомерСтрокиИзмерения; //градус

    яркость = 90; // процент

    Цвет = HSB_TO_RGB(оттенок, насыщенность, яркость);

    СтруктураСоответствияЦветов.Вставить(НомерСтрокиИзмерения , Цвет);

КонецЦикла;

……

……

……

Пока Выборка.Следующий() Цикл

    ЦветФонаОбласти = СтруктураСоответствияЦветов[Выборка.Уровень()];

КонецЦикла;

//sale.itcity.ru/projects/3090/

has been added to your cart:
Оформление заказа