Как я могу получить цвет HEX из моего виджета контейнера градиента

у меня есть следующий цвет градиента:

  Container(
    decoration: BoxDecoration(
        gradient: LinearGradient(
            colors: [
              Colors.blue[400]!,
              Colors.black38,
            ]
        )
    ),
  ),

Теперь мне нужно получить его HEX-код

например, используя палитру цветов Google, я могу получить #0d0900 для черного цвета.

Как я могу получить то же самое из моего предыдущего цвета виджета?

вы хотите использовать шестнадцатеричный цвет правильно?

Mobin Ansar 06.02.2023 05:21

Какую цель вы пытаетесь достичь? с помощью HexaDecimal

Mobin Ansar 06.02.2023 06:26

цель в том, что мне нужно получить этот шестнадцатеричный код, чтобы скопировать его в мое свойство заставки в файле .yml. мне трудно получить его вручную из палитры цветов Google.

Mohammed Hamdan 06.02.2023 17:26
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
3
60
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Создайте эту функцию

String colorToHex(Color color) {
  String hex = color.value.toRadixString(16).padLeft(8, '0');
  return "#" + hex.substring(2, 8);
}

Как это работает, чтобы получить цвета из градиента

В этом примере LinearGradient с цветами red и yellow создается и присваивается переменной gradient. Затем свойство colors элемента LinearGradient присваивается списку gradientColors.

Функция карты используется для преобразования каждого цвета в списке gradientColors в его шестнадцатеричное представление с помощью функции colorToHex, а результат присваивается списку hexColors.

LinearGradient gradient = LinearGradient(
    colors: [Colors.red, Colors.yellow],
  );

  late List<Color> gradientColors = gradient.colors;
  late List<String> hexColors =
      gradientColors.map((color) => colorToHex(color)).toList();

В теле Container есть Text и Scaffold виджеты.

              Container(
                width: 200.0,
                height: 100.0,
                decoration: BoxDecoration(
                  gradient: gradient,
                ),
              ),
              Text("$hexColors"),

red.toHex() не может работать

Mobin Ansar 06.02.2023 06:15

но как мы можем получить цвета из градиента

Mobin Ansar 06.02.2023 06:35

Давайте продолжим обсуждение в чате.

Mobin Ansar 06.02.2023 06:46

Проверь сейчас. обновлен ответ для «получить цвета из градиента»

HoRiz 06.02.2023 07:18

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

Mohammed Hamdan 06.02.2023 17:57

Другие вопросы по теме