Как я корректирую яркость цвета?

Начало работы exports-loader

Загрузчик экспортов - это загрузчик веб-пакетов, который позволяет динамически добавлять exports предложения в загружаемые им файлы javascript. Например, в вашем файле globals.js нет export, только переменные file и helpers, но с exports-loader он может работать , как если бы имел export статьи.

Загрузка веб-загрузчиков

В основном, чтобы использовать загрузчик, мы должны предоставить предложения test и use. test может быть регулярным выражением, массивом или объектом, и в основном он решает, какие файлы будут использовать определенные загрузчики.

Предложение use определяет, какие загрузчики будут применены к файлам, которые соответствуют регулярному выражению test.

В этом случае нам следует, например, указать веб-пакету загрузить globals.js с exports-loader:

  module: {
    rules: [
      {
        test: /globals.js/,
        use: 'exports-loader',
      }
    ]
  }

Это -afaik- самый распространенный способ использования загрузчиков. Webpack, однако, имеет много опций конфигурации и различных допустимых синтаксисов.

Как только мы сделаем это, когда webpack найдет файл require или import и файл globals.js, он будет использовать exports-loader.

С другой стороны, exports-loader работает, изменяя вызовы require, чтобы указать ему, как извлечь переменные в требуемом файле. Как и в их документах:

file.js

const file = 'foo';

app.js

const file = require('exports-loader?file!./file.js');
console.log(file); // foo

Итак, в основном вам нужно две вещи, чтобы заставить exports-loader работать:

  1. Использовать require или import с их специальным синтаксисом.

  2. Загрузите загрузчик в webpack.config.js как обычно (они пропускают это в своей документации).

Вместо этого вы пытаетесь использовать этот специфический синтаксис exports-loader в вашем файле webpack.config.js, а затем используете его с import.

Итак, плохие новости заключаются в том, что exports-loader требуется специальное форматирование в каждом операторе require или import, чтобы сделать его магию . Вы просто не можете указать это в своем конфигурационном файле при попытке (или, по крайней мере, я не знаю как).

Итак, чтобы заставить его работать, вам необходимо:

  • Исправить webpack.config.js, как указано выше.
  • измените ваш файл index.js, чтобы он использовал магию exports-loader :
import file from 'exports-loader?file!./deps.js'
console.log('the file', file);
24
задан Noldorin 29 April 2009 в 08:26
поделиться

4 ответа

Как простой подход , вы можете просто множить значения RGB:

    Color c1 = Color.Red;
    Color c2 = Color.FromArgb(c1.A,
        (int)(c1.R * 0.8), (int)(c1.G * 0.8), (int)(c1.B * 0.8));

(что должно сделать его темнее; или, например, * 1,25, чтобы осветлить его)

29
ответ дан Marc Gravell 28 November 2019 в 22:22
поделиться

Преобразовать из RGB в HSV (или HSL), затем уменьшить V (или L) и затем выполнить обратное преобразование.

В то время как System.Drawing.Color предоставляет методы для получения оттенка (H), насыщенности (S) и яркости, он не обеспечивает много в плане других преобразований, ничего не выделяя для создания нового экземпляра из HSV (или значения HSV), но преобразование довольно просто реализовать. Статьи в Википедии дают приличное преимущество, начиная здесь: « HSL и HSV ».

16
ответ дан David Kemp 28 November 2019 в 22:22
поделиться

Вот код C # для преобразований, упомянутых Ричардом:

RGB в HSL / HSL в RGB в C #

9
ответ дан wazz 28 November 2019 в 22:22
поделиться

You could also try using

ControlPaint.Light(baseColor, percOfLightLight)

ControlPaint.Light

or

ControlPaint.Dark(baseColor, percOfDarkDark)

ControlPaint.Dark

20
ответ дан 28 November 2019 в 22:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: