من إلى ، من إلى ، إلى . تدعم CSS وبرامج التظليل وWASM وجداول تحويل الألوان (LUT).
الشاشات والويب19
فضاءات RGB للعمل والتسليم، من الفضاء الافتراضي للويب إلى نطاقات ألوان أوسع للشاشات.
HP & Microsoft,1996
RGBApple,2015
RGBITU-R,2012
RGB
HP & Microsoft,1996
RGBITU-R,1990
RGBKodak,1999
RGBAdobe Systems,1998
RGBDCI,2005
RGBApple,2015
RGBITU-R,2012
RGBAdobe Systems,1998
RGBKodak,1999
RGBIEC,2003
RGBKodak,2000
RGBCIE,1931
RGBFCC,1953–87
RGBWalter Bruch / Telefunken,1967
RGBApple Computer,1987–96
RGBSMPTE,1988–90
RGB
مشتقات RGB9
أدوات لتدرج اللون والإشباع والسطوع مبنية على RGB. الخطوات المتساوية لا تبدو بالضرورة متساوية.
Joblove & Greenberg,1978
HSLAlvy Ray Smith,1978
HSVAlvy Ray Smith,1996
HWB
John R. Kender,1976
HSIcommunity convention,2011
HCGIan Taylor,2012
HCLDarel Rex Finley,2006
HSPKuzma Shapran,2012
HCYBianconi et al.,2009
HSM
إدراكية48
إحداثيات لمقارنة الألوان وبناء اللوحات اللونية والتنبؤ بمظهر اللون.
Björn Ottosson,2020
LCHCIE,1976
LabLi et al.,2017
JMh
Björn Ottosson,2020
LabGoogle,2021
HCTBjörn Ottosson,2021
HSLBjörn Ottosson,2021
HSVBjörn Ottosson,2021
HWBBjörn Ottosson,2021
LabBjörn Ottosson,2021
LCHJan Behrens,2009
LabKonovalenko et al.,2021
LabLi & Luo,2024
IabHensley & Fairchild,2020
IgPgTgSafdar et al.,2017
JzazbzSafdar et al.,2017
JzCzHzFritz Ebner & Mark Fairchild,1998
IPTSafdar et al.,2017
IzazbzMark Fairchild & Garrett Wyble,2010
IPTCIE,1976
LCHCIE,1976
LUVAlexei Boronine,2012
HSLCIE,1976
LCHCIE,1976
LabCIE,1976
LCHAlexei Boronine,2012
HSLDIN,2018
LabDIN,2018
LCHCui et al.,2002
LabRichard S. Hunter,1948
LabDavid MacAdam / CIE,1960–76
UVWGünther Wyszecki / CIE,1964–76
UVWElliot Q. Adams,1942–76
LabMark Fairchild & Garrett Wyble,2010–16
LabCIE,2002–17
JMhLi et al.,2017
JabSafdar et al.,2021
JMhLuo et al.,2006–17
JabLi et al.,2017
JabLi et al.,2017
JabLuo et al.,2006–17
JabLuo et al.,2006–17
JabLuke Hellwig & Mark Fairchild,2022
JMhMark Fairchild,1996
LabLuo et al.,1996
LABYoshinobu Nayatani,1995
LChRobert W. G. Hunt,1994
JChSherman Lee Guth,1995
ATD
قياس الألوان والبحث22
أسس القياس، والعين، وإحداثيات بحثية متخصصة.
CIE,1931
XYZCIE,1931
xyYEstévez et al.,1979
LMS
ICC,1994
XYZCIE,1976
uvYYoshi Ohno / ANSI,2014
TDuRaymond Davis; CIE,1931
TJames Clerk Maxwell,1860
xyCIE,1931
wlITU-R,2016
XaYaZaDonald MacLeod & Robert Boynton,1979
lsYDerrington et al.,1984
LuRGYVCIE,1931
YHermann von Helmholtz,1860
dsYJames Clerk Maxwell,1860
rgRichard Kirk,2019
YrgJyrki Alakuijala et al.,2019
XYBOSA committee,1974
LjgTerrillon & Akamatsu,2000
TSLXerox,1989
YESOhta et al.,1980
I1I2I3Ruderman et al.,1998
lαβ
الفيديو والبث20
تفصل السطوع عن اللون للبث والضغط وتسليم HDR.
ITU-R,1990
YCbCrDolby,2016
ICtCpITU-R,2012
YCbCr
ITU-R,1982
YCbCrITU-R,1982
YCbCrITU-R,1982
YCbCrWalter Bruch / Telefunken,1967
YUVNTSC,1953–82
YIQITU-R,1982
YPbPrMalvar & Sullivan,2003
YCgCoEric Hamilton / C-Cube Microsystems,1992
YCbCrHenri de France,1967
YDbDrITU-R,2012
YcCbCrSony / IEC,2006
YCbCrSMPTE,1987
RGBKodak,1992
YcC1C2Dolby / ITU-R,2016
RGBBBC & NHK / ITU-R,2016
RGBITU-R,2016
RGBJulian Fröhlich,2017
ICaCb
السينما والكاميرا43
ترميزات log للكاميرات وفضاءات عمل لالتقاط الضوء ومعالجة ألوانه.
Academy,2014
RGBARRI,2010–22
RGBAcademy,2014
RGB
Sony,2014
RGBSony,2014
RGBAcademy,2012
RGBAcademy,2016
RGBARRI,2022
RGBKodak,1992
RGBBlackmagic Design,2020
RGBSony,2012–14
RGBPanasonic,2014
RGBRED Digital Cinema,2017
RGBCanon,2011–15
RGBCanon,2015
RGBCanon,2016
RGBFujifilm,2016
RGBFujifilm,2022
RGBFujifilm,2024
RGBNikon,2018
RGBApple,2023
RGBApple,2025
RGBBlackmagic Design,2020
RGBDJI,2017
RGBFilmLight,2013
RGBKinefinity,2025
RGBSMPTE/DCI,2006
XYZSony,2008–12
RGBAcademy,2013
RGBKodak,2000
RGBLeica,2020
RGBGoPro,2012
RGBGoPro,2026
RGBInsta360,2026
RGBXiaomi,2024
RGBOPPO,2025
RGBSamsung,2025
RGBRED Digital Cinema,2007–08
RGBRED Digital Cinema,2008–17
RGBRED Digital Cinema,2016–17
RGBPanavision / Sony,2005
RGBThomson Grass Valley,2002
RGBFiLMiC Inc.,2017
RGB
الطباعة والطلاء7
الحبر والطلاء والتنظيم المقيس لألوان الأسطح.
Eagle Printing Ink Co.,1906
CMYKAlbert H. Munsell,1905
HVCJohannes Itten,1961
RYB
Louis Ducos du Hauron,1868–1906
CMYRAL gGmbH,1993
HLCAntal Nemcsics,1980
ATVWilhelm Ostwald,1917
hWB
استخدمه
حزمة JavaScript لتحويل الألوان. استورد فضاءً واحدًا بحجم أقل من 1.5 kB، أو جميع الفضاءات للتحويل بينها. تعمل التحويلات نفسها على الصور الكاملة باستخدام WASM، وفي برامج التظليل باستخدام GLSL أو WGSL، ويمكن تصديرها كجداول LUT أو ملفات تعريف ICC. ويمكن للوكلاء استدعاؤها عبر خادم MCP.
import space from 'color-space'
space.rgb.oklch(255, 128, 0) // → [0.732, 0.186, 53]
space.oklch.rgb(0.65, 0.25, 180) // any of 168 × 167 pairs
space.oklch.name // 'oklch'
space.oklch.range // [[0,1], [0,0.4], [0,360]]// one space only – tree-shaken, 0.4-1.5 kBimport oklch from 'color-space/oklch.js'
oklch.rgb(0.65, 0.25, 180)
// values in the notations CSS already speaks – straight from the library
color: oklch(0.732 0.186 53); // space.rgb.oklch(255, 128, 0)
color: color(display-p3 0.936 0.529 0.199); // space.rgb.p3(255, 128, 0)
color: color(xyz-d65 0.49 0.367 0.045); // space.rgb.xyz(…) / 100 – exact interchange// spaces CSS lacks ship as ICC profiles or LUTs – see those tabs;
// every dossier's css tab writes the current color in copyable forms
// per-space metadata – sourced, ships as data.jsonimport data from 'color-space/data.json' with { type: 'json' }
const m = data.spaces.oklch
m.channels // [{symbol, min, max, name}, …]
m.refs // defining spec / paper links
m.year, m.by // 2020, 'Björn Ottosson'
// scalar or whole-buffer, zero-copy – a true WASM kernelimport space, { alloc } from 'color-space/wasm'
space.oklch.rgb(0.72, 0.16, 41) // → [246, 125, 79]const buf = alloc(n) // n×3 Float64Array
space.rgb.oklch(buf) // in place – 27 spaces
// every pair as a GLSL shader chunkimport { glsl } from 'color-space/gl'
import oklch from 'color-space/gl/oklch'
const src = glsl(oklch, 'rgb')
// → self-contained: vec3 oklch_rgb(vec3 c)// paste into any fragment shader, no uniforms
أي فضاء ملفَّ تعريف .icc بالإصدار 2 – مصفوفة ومنحنى درجات لفضاءات عمل RGB (Photoshop وإدارة الألوان في نظام التشغيل)، وشبكة CLUT لكل ما عداها (lcms وArgyllCMS وImageMagick).
…
// an MCP server – convert · gamut · css · space · spaces · cube –
// so an agent calls verified conversions instead of guessing them
npx -y color-space mcp
// Claude Code
claude mcp add color-space -- npx -y color-space mcp
// VS Code
code --add-mcp '{"name":"color-space","command":"npx","args":["-y","color-space","mcp"]}'
// Claude Desktop · Cursor · .mcp.json
{ "mcpServers": { "color-space": { "command": "npx", "args": ["-y", "color-space", "mcp"] } } }
ما الفضاء اللوني؟
نظام إحداثيات للون: محاور ومجالات وقاعدة تربط الأرقام بضوء قابل للقياس. البرتقالي نفسه هو rgb(255 128 0) وoklch(0.732 0.186 53) وفي XYZ [49, 36.7, 4.5]: لون واحد مكتوب بثلاث طرق. اللوحة اللونية حفنة من ألوان مختارة؛ أما الفضاء فطريقة لكتابة أي لون على الإطلاق.
نموذج لوني أم فضاء لوني – ما الفرق؟
يحدد النموذج اللوني المكونات المستخدمة لوصف اللون: ثلاثة ألوان أساسية في RGB، وتدرج اللون والإشباع والإضاءة في HSL، وأربعة أحبار في CMYK. أما الفضاء اللوني فيحدد الألوان الأساسية والنقطة البيضاء ومنحنى الترميز، بحيث تقابل كل مجموعة قيم لونًا محددًا قابلًا للقياس. لذلك يصف rgb(255 0 0) درجات مختلفة من الأحمر في sRGB وDisplay P3 وAdobe RGB: نموذج واحد، وثلاثة فضاءات.
في الاستعمال الشائع يُسمّى كلاهما فضاءً لونيًا، كما في color-mix(in hsl, …) في CSS وفي هذا الفهرس. ويمكن ربط النموذج بفضاء لوني محدد ليكتسب مرجعًا: هنا يعتمد HSL وHSV على sRGB، كما في CSS.
تصميم اللوحات اللونية والتدرجات – OKLCH، حيث تبدو الخطوات المتساوية متساوية؛
العمليات الحسابية على الضوء (المزج، التمويه، الرسوم ثلاثية الأبعاد) – RGB بالضوء الخطي؛
تصوير الفيديو ومعالجة ألوانه – فضاء log الخاص بكاميرتك، يُسلَّم في Rec. 709 أو Rec. 2100؛
قياس مدى اختلاف لونين في المظهر – CIELAB أو DIN99o.
وتجميع الفهرس حسب الغرض يرتّبه على النحو نفسه.
ماذا أستخدم بدلًا من HSL؟
OKLCH. يحتفظ بأدوات التحكم الثلاث نفسها – تدرج اللون والكروما والإضاءة – لكن إضاءته جديرة بالثقة: في HSL يبعث الأصفر عند L=50 نحو 13 ضعف ضوء الأزرق عند L=50، فتساوي L لا يعني تساوي السطوع. أما في OKLCH فيعنيه. وتدعم CSS oklch() أصلًا.
لماذا تصبح تدرجاتي اللونية موحلة في منتصفها؟
لأنها تُحسب في sRGB المرمَّز بغاما، حيث ينتج حساب متوسط أرقام لونين ضوءًا أغمق وأبهت مما ينتجه مزج ضوئهما فعلًا. الاستيفاء في OKLab يتجنّب ذلك. ويرسم صف interpolate في كل ملف المزيج نفسه عبر فضاءين جنبًا إلى جنب، لترى الفرق قبل أن تختار.
ما معنى «خارج نطاق الألوان»؟
لون يستطيع فضاء ما وصفه ولا يستطيع فضاء آخر – أو شاشتك – عرضه. فالأخضر الزاهي في Display P3 لا وجود له ببساطة في sRGB: حوّله تجد الأرقام خارج المجال الصالح. ويُبقي الأطلس هذا ظاهرًا: الشارة بجوار اللون الحالي تسمّي أضيق نطاق ألوان قياسي يحتويه، والامتدادات الخارجة عن المجال تظهر باهتة فوق رقعة شطرنج.
لماذا يبدو المطبوع أبهت من الشاشة؟
الشاشة تبعث الضوء؛ والورق يعكس ما لا تمتصه أحباره. الحبر على الورق يبلغ ألوانًا زاهية أقل – فالأزرق والأخضر والأحمر المشبعة في RGB تقع خارجه – لذا تُطبع أبهت. وتحوّل مرحلة ما قبل الطباعة الألوان عبر ملف تعريف ICC مُعَدّ للمطبعة والورق، مثل FOGRA39 للورق المطلي الأوروبي أو GRACoL في الولايات المتحدة. وCMYK في هذا الفهرس هو الصيغة البسيطة التي تستخدمها CSS لـ device-cmyk() دون ملف تعريف: صحيحة للأرقام، لا بروفة للمطبوع.
هل التحويلات دقيقة؟ وهل يضيع شيء من البيانات ذهابًا وإيابًا؟
التحويلات صيغ مغلقة لا تقريبات بجداول بحث، والتحويل ذهابًا وإيابًا يعود بالقيم ضمن هامش أخطاء الفاصلة العائمة. والاستثناءات القليلة موثّقة حيث تقع: ليس لـ OSA-UCS معكوس مغلق، وأنظمة الأطالس مثل Munsell تستوفي بين الدرجات المنشورة، ومخرجات rgb تُقصّ إلى نطاق ألوان sRGB؛ فمرّ عبر XYZ أو RGB الخطي إن احتجت قيمًا خارجه.
وهي أيضًا مُتحقَّق منها: كل فضاء يحيل إلى الورقة البحثية أو المواصفة التي ينفّذها، وتُختبر القيم مقابل colorjs.io حيثما تداخل الاثنان، ومنحنيات log للكاميرات مقابل تحويلات ACES الرسمية من الأكاديمية. ويسجّل formula-verification.md ما فُحص ومقابل ماذا، بما في ذلك مواضع قليلة كانت فيها الأوراق المنشورة نفسها خاطئة.
إن اختلفت الأرقام عن أرقام مكتبة أخرى، فقارن المجالات: هذه المكتبة تحافظ على المجالات المتعارف عليها لكل فضاء – RGB من 0 إلى 255، وإضاءة Lab من 0 إلى 100، وتدرج اللون من 0 إلى 360 – بينما تختزل مكتبات كثيرة كل شيء إلى 0–1. تعرض كل بطاقة مجالاتها؛ وفي الشيفرة هي space.oklch.range.
أيّ هذه الفضاءات تستطيع CSS كتابته؟
تدعم CSS أصلًا rgb() وhsl() وhwb() وlab() وlch() وoklab() وoklch()، إضافة إلى color() لفضاءات Display P3 وAdobe RGB وProPhoto وsRGB الخطي وXYZ (D65 وD50). أما rec2020 في CSS فغاما 2.4 خالصة، لا منحنى BT.2020 الذي يعتمده هذا الفهرس في Rec. 2020، فالأرقام نفسها تسمّي لونًا مختلفًا. يكتب تبويب css في كل ملف اللون الحالي بصيغة قابلة للنسخ؛ والفضاءات التي تفتقر إليها CSS تُقدَّم بدلًا من ذلك ملفاتِ تعريف ICC أو جداول LUT.
أين Pantone وNCS وRAL؟
هذه منتجات مرخّصة: ألوانها معرّفة ببيانات يبيعها مالكوها، لا بصيغ منشورة، فلا رياضيات مفتوحة يمكن تنفيذها، وإعادة توزيع جداولها غير قانونية. أما الأقارب القريبون ذوو الرياضيات العامة فهنا: Munsell (إعادة ترقيمه عام 1943 سجلّ عام) وRAL Design (معرَّف مباشرة في CIELAB). والقاعدة العملية: إن نُشرت الرياضيات يومًا، فمكانها في المجموعة.
BibTeX
@software{Ivanov_color-space_2026,
author = {Ivanov, Dmitry},
license = {CC0-1.0},
month = oct,
title = {{color-space}},
url = {https://github.com/colorjs/color-space},
version = {3.2.0},
year = {2026}
}
APA
Ivanov, D. (2026). color-space (Version 3.2.0) [Computer software]. https://github.com/colorjs/color-space
نُسخ
أفلت الصورة لعرض ألوانها على كل الأشرطة والمستويات