Я хочу показать своему пользователю, сколько (процентов мудрых) их форм соответствует новому стандарту. То, как я хочу, чтобы они знали визуально, - это процентное количество будет окрашено. Он будет 0xFF0000 (чистый красный) для 0% и 0x00FF00 (чистый зеленый) на 100%. Каков наилучший способ рассчитать цвет для каждого шага на этом пути?Создание цветового градиента
2
A
ответ
3
Преобразование цвета пространство (как это было предложено Tony) даст вам лучшие результаты. Если же это выходит за рамки того, что вы ищете, я предлагаю простой алгоритм, который заставит вас желтым (0xFFFF00) на 50%:
Для значений до 50% Начните с 0xFF0000.
Добавить 0xFF * Процент/50 на зеленый компонент.
Для значений выше 50% Начните с 0xFFFF00.
Вычитание 0xFF * Процент/50 из красного компонента.
результаты выглядят достаточно хорошо для моих клиентов ;-)
1
Вам не нужно его вычислять самостоятельно - попробуйте использовать щетку LinearGradient
. (msdn)
LinearGradientBrush linGrBrush = new LinearGradientBrush(
new Point(0, 10),
new Point(200, 10),
Color.FromArgb(255, 255, 0, 0), // Opaque red
Color.FromArgb(255, 0, 0, 255)); // Opaque blue
Pen pen = new Pen(linGrBrush);
e.Graphics.DrawLine(pen, 0, 10, 200, 10);
e.Graphics.FillEllipse(linGrBrush, 0, 30, 200, 100);
e.Graphics.FillRectangle(linGrBrush, 0, 155, 500, 30);
Смежные вопросы
- 1. AMCharts Диаграмма цветового градиента в цвете гравюры
- 2. ggplot2: изменение стандартного цветового градиента для непрерывной переменной
- 3. ggplot изменить цвет заливки без потери цветового градиента
- 4. Создание градиента радуги CreateJS
- 5. PIL: Создание вертикального градиента изображения
- 6. Создание файла маски градиента imagemagick
- 7. Создание овального градиента в форме
- 8. Сглаживание строки и создание градиента
- 9. Создание градиента цвета в Python
- 10. Создание задач градиента в IntelliJ
- 11. Создание градиента для пользовательских вкладок
- 12. Создание проекта градиента в затмении
- 13. Создание градиента угла с RMagick
- 14. Создание 2d градиента градиента с 3 1D массивами
- 15. Использование цветового цикла matplotlib в качестве цветового кода
- 16. Создание градиента между двумя цветами в XNA
- 17. Создание Choropleth в R без использования градиента
- 18. Создание линейного прозрачного градиента для div
- 19. Создание линейного градиента в 2D-массиве
- 20. Создание градиента приспосабливается к высоте браузера
- 21. Создание рабочего градиента svg с d3
- 22. Создание градиента CSS расширяется до блокировки?
- 23. Создание градиента фона продолжают последний цвет
- 24. Создание кольца с прозрачностью радиального градиента
- 25. Создание градиента от экстремумов поплавка Изображение
- 26. Создание файла docker приложения java для градиента
- 27. Создание «динамического» градиента для HSB Color Picker
- 28. Создание страницы заполнения градиента с помощью css
- 29. Создание треугольника в css с фоном градиента
- 30. Создание горизонтального линейного градиента с Рафаэлем
http://stackoverflow.com/questions/668263/algorithm-question-need-to-dynamically-increment-from-00ff00-to-ff0000- over-time/669786 # 669786 –
Предположительно, новый стандарт не имеет ничего общего с доступностью, поскольку некоторые из ваших пользователей не смогут определить разницу между красным и зеленым. –
Да, зеленый <-> Красный цвет будет жестким для людей с цветной слепотой. –