powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Чертов градиент... как самому сгенерить?
10 сообщений из 10, страница 1 из 1
Чертов градиент... как самому сгенерить?
    #37198754
karapetyan_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ есть ли какая то математика для "генерации" градиентной заливки?
Нужно, в зависимости от состояния данных строки датагрида подкрашивать ее разными цветами. ( всего состояний 5)
Ну я и определил в стилях 5 цветов все работает........... но выглядет прямо скажем хреново (SolidColorBrush)

Далее скачал таккой пример заливки красным (строка выглядит как выпуклая)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<LinearGradientBrush x:Key="RejectedSecNodeColor" StartPoint="0,0" EndPoint="0,1">
            <GradientStop Color="#FFFD9F9F" Offset="0" />
            <GradientStop Color="#FFFF7070" Offset="0.318" />
            <GradientStop Color="#FFFF7070" Offset="0.488" />
            <GradientStop Color="#FFFF2E2E" Offset="0.502" />
            <GradientStop Color="#FFFF3232" Offset="0.834" />
            <GradientStop Color="#FFFF8B8B" Offset="1" />
        </LinearGradientBrush>

Понравилось, но, хотелось бы красный посветлее, и еще 4 заливки в желтой, зеленой ну и т.д цветовой гаммах...
Я не дизайнер, и выбрать цвет для меня ну просто мучение.

после объяснения вопрос выглядит так: Есть ли какая нибудь логика/математика в подборе n цветов от цвета А к цвету Б, чтоб получилось "выпукло"?

С уважением, Ашот.
...
Рейтинг: 0 / 0
Чертов градиент... как самому сгенерить?
    #37198834
Руки-крюки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
karapetyan_aНарод есть ли какая то математика для "генерации" градиентной заливки?
Нужно, в зависимости от состояния данных строки датагрида подкрашивать ее разными цветами. ( всего состояний 5)
Ну я и определил в стилях 5 цветов все работает........... но выглядет прямо скажем хреново (SolidColorBrush)

Далее скачал таккой пример заливки красным (строка выглядит как выпуклая)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<LinearGradientBrush x:Key="RejectedSecNodeColor" StartPoint="0,0" EndPoint="0,1">
            <GradientStop Color="#FFFD9F9F" Offset="0" />
            <GradientStop Color="#FFFF7070" Offset="0.318" />
            <GradientStop Color="#FFFF7070" Offset="0.488" />
            <GradientStop Color="#FFFF2E2E" Offset="0.502" />
            <GradientStop Color="#FFFF3232" Offset="0.834" />
            <GradientStop Color="#FFFF8B8B" Offset="1" />
        </LinearGradientBrush>

Понравилось, но, хотелось бы красный посветлее, и еще 4 заливки в желтой, зеленой ну и т.д цветовой гаммах...
Я не дизайнер, и выбрать цвет для меня ну просто мучение.

после объяснения вопрос выглядит так: Есть ли какая нибудь логика/математика в подборе n цветов от цвета А к цвету Б, чтоб получилось "выпукло"?

С уважением, Ашот.

Color = sin(Offset*Pi/2)*ColorStart + ColorEnd

Как-то так. Sin можно поменять на сигмоид, что бы не выглядело как шарик.
...
Рейтинг: 0 / 0
Чертов градиент... как самому сгенерить?
    #37198845
Руки-крюки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, не так.

Color = sin(Offset*Pi/2)*(ColorEnd - ColorStart) + ColorStart

ColorStart - цвет в центре
ColorEnd - цвет на границе
Color - цвет в точке Offset
Offset - от 0 до 1
...
Рейтинг: 0 / 0
Чертов градиент... как самому сгенерить?
    #37198847
Руки-крюки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Руки-крюкиSin можно поменять на сигмоид, что бы не выглядело как шарик.

Тут нужно проследить что-бы функция плавности была от 0 до 1.
...
Рейтинг: 0 / 0
Чертов градиент... как самому сгенерить?
    #37198908
Фотография pitachek69
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
karapetyan_a,

blend
видео
...
Рейтинг: 0 / 0
Чертов градиент... как самому сгенерить?
    #37198923
Руки-крюки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pitachek69karapetyan_a,

blend
видео

Ну и как там сгенерить градиент по синусоиде вручную?)
...
Рейтинг: 0 / 0
Чертов градиент... как самому сгенерить?
    #37199447
Фотография pitachek69
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Руки-крюки,

Как говорится, давайте придумывать проблемы на свою голову, а потом героически их решать?)

karapetyan_a... скачал таккой пример...Понравилось, но, хотелось бы красный посветлее
говорит, что автор новичок и просто еще не добрался до blend'а.

ЗЫ Подобные вещи не хардкодятся, а хранятся в стилях!
...
Рейтинг: 0 / 0
Чертов градиент... как самому сгенерить?
    #37199828
karapetyan_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Руки-крюкиНе, не так.

Color = sin(Offset*Pi/2)*(ColorEnd - ColorStart) + ColorStart

ColorStart - цвет в центре
ColorEnd - цвет на границе
Color - цвет в точке Offset
Offset - от 0 до 1
Спасибо за вариант, но тут логика плавного перехода от одного цвета к другом т.е. если офсет взять с шагом 0.1 то бишь 11 ГрадиентСтоп-ов то бутет тоже самое что с 2-я градиентстоп-ами
т.е.
Код: plaintext
1.
2.
3.
4.
5.
<GradientStop Color="White" Offset="0" />
<GradientStop Color="SomeColor" Offset="0.1" />
<GradientStop Color="SomeColor" Offset="0.2 />
<GradientStop Color="SomeColor" Offset="n..." />
...
<GradientStop Color="Red" Offset="1" />
эквивалентен
Код: plaintext
1.
<GradientStop Color="White" Offset="0" />
<GradientStop Color="Red" Offset="1" />

Как я понимаю, для "выпуклости" надо не линейно оффсет увеличивать а как-то................... не знаю как.
...
Рейтинг: 0 / 0
Чертов градиент... как самому сгенерить?
    #37199846
karapetyan_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pitachek69Руки-крюки,

Как говорится, давайте придумывать проблемы на свою голову, а потом героически их решать?)

karapetyan_a... скачал таккой пример...Понравилось, но, хотелось бы красный посветлее
говорит, что автор новичок и просто еще не добрался до blend'а.

ЗЫ Подобные вещи не хардкодятся, а хранятся в стилях!

Я в стилях и храню. а до бленда руки видать и не дойдут, я все больше программер, а до дизайна, как до балета - далеко, подобрать цвет - мучение.......... просто понадобилось подобрать 5 цветов............. вот и заинтересовала "математика" выпуклости, впуклости... чтоб задал формулу, задал "тон" он сделал выпуклую кнопку.
...
Рейтинг: 0 / 0
Чертов градиент... как самому сгенерить?
    #37200067
Руки-крюки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
karapetyan_aКак я понимаю, для "выпуклости" надо не линейно оффсет увеличивать а как-то................... не знаю как.

Оффсет линейно, цвет не линейно.

ЗЫ Сигмоид

pitachek69ЗЫ Подобные вещи не хардкодятся, а хранятся в стилях!

Ну и кто мешает их сгенерить а потом "захордкодить" в стилях?) Если хочется человеку особой плавности, то придется немного помучиться, но результат будет отличным.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Чертов градиент... как самому сгенерить?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]