Создание цвета С# из значений HSL

Как создать цвет С# из значений HSL?

Ответ 2

Добавьте следующую строку ниже в ", используя пространства имен в файле кода:

using System.Runtime.InteropServices

и с помощью P/Invoke добавьте следующую функцию:

[DllImport("shlwapi.dll")]
public static extern int ColorHLSToRGB(int H, int L, int S);

В любом классе, который вы хотите в своем проекте.

Если у вас есть цвет в оттенке, яркости и насыщенности в виде целых чисел, затем дайте эти значения этой функции, и нужный цвет RGB будет возвращен как целое. Затем используйте ColorTranslator.FromWin32 для перевода возвращаемого цвета rgb как целого в структуру System.Drawing.Color.

Другой способ - использовать метод перегрузки Color.FromArgb(Int32), чтобы создать цвет, который вы хотите, в качестве структуры System.Drawing.Color из этого целого.

Другой способ - создать экземпляр класса ColorConverter, а затем вызвать метод ConvertFrom и присвоить ему целое число RGB Color, возвращаемое с функцию ColorHLSToRGB или вызов метода ConvertTo с тем же самым первым аргументом, но во втором вводе аргумента typeof(System.Drawing.Color). Затем преобразовать возвращаемый объект в тип структуры System.Drawing.Color.

Результат - именно то, что вы ищете и ожидаете!

Вы также можете попробовать другие алгоритмы или способы, которые вы можете искать, узнавать и узнавать в Интернете, о том, как преобразовать цвет RGB как целое в структуру System.Drawing.Color или как преобразовать значения HLS в виде трех целых чисел в систему .Drawing.Color структура!