Цвет
для кода
Один цвет в синтаксисе восемнадцати платформ — от CSS до Delphi. Копируйте готовую строку прямо в исходник. Форматы с необычным порядком компонентов помечены, чтобы на них не попасться.
Форматы без поддержки альфа-канала её просто игнорируют.
- CSS — HEX#4F8EF7
- CSS — rgbrgb(79, 142, 247)
- CSS-переменная--color: #4F8EF7;
- Tailwind — произвольное значениеbg-[#4F8EF7]
- SwiftUIColor(red: 0.310, green: 0.557, blue: 0.969, opacity: 1.000)
- UIKit — SwiftUIColor(red: 0.310, green: 0.557, blue: 0.969, alpha: 1.000)
- Android — XML⚠ альфа записывается первой#FF4F8EF7
- Jetpack Compose⚠ альфа перваяColor(0xFF4F8EF7)
- Flutter — Dart⚠ альфа перваяColor(0xFF4F8EF7)
- C# — .NETColor.FromArgb(255, 79, 142, 247)
- Unity — Color32new Color32(79, 142, 247, 255)
- GLSL — vec4vec4(0.310, 0.557, 0.969, 1.000)
- Qt — C++QColor(79, 142, 247)
- Delphi — TColor⚠ порядок BGR, а не RGB$00F78E4F
- Win32 — COLORREF⚠ порядок BGR0x00F78E4F
- Java — AWTnew Color(79, 142, 247)
- Python — кортеж(79, 142, 247)
- Целое число5213943
Три способа записать одно и то же
Платформы делятся на три лагеря. Одни хранят каналы целыми числами от 0 до 255 — так работают CSS, C#, Qt и Unity в варианте Color32. Другие используют дробные значения от нуля до единицы: Swift, SwiftUI, GLSL и Unity в обычном Color. Третьи упаковывают всё в одно целое число — Flutter, Compose, Android XML.
Внутри третьего лагеря и прячется главная ловушка. У Android и Flutter альфа стоит первой: 0xFF4F8EF7, где FF это непрозрачность. А Delphi и Win32 API хранят каналы задом наперёд — сначала синий, потом зелёный, потом красный. Тот же цвет там записывается как $00F78E4F, и подставленный «как есть» HEX даст совсем другой оттенок.
- CSS — #4F8EF7
- Flutter — 0xFF4F8EF7, альфа первая
- Swift — 0.310, 0.557, 0.969
- Delphi — $00F78E4F, порядок BGR
- Целое число — 5213943