تحويل RGB إلى XYZ
احصل على قيم CIE 1931 XYZ للون sRGB: البرتقالي 255 و128 و0 يعطي X 48.96429558 وY 36.70460115 وZ 4.50627447 على مقياس من 0 إلى 100. نقطة انطلاق متينة للتحويل إلى Lab ومقارنة ملفات الألوان. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- المقاومة (Ω)
- 255
- G
- 128
- B
- 0
- X
- 48.96429558
- Y
- 36.70460115
- Z
- 4.50627447
- النقطة البيضاء
- D65
تحوّل هذه الأداة قيم قنوات sRGB الحمراء والخضراء والزرقاء إلى إحداثيات التحفيز الثلاثي CIE 1931 XYZ. وهي تتحقق من كل قناة، وتزيل منحنى النقل غير الخطي في sRGB، ثم تطبق مصفوفة التحويل القياسية D65 للمراقب ذي الزاوية 2 درجة. تُعاد قيم X وY وZ بالمقياس الشائع 0–100، فتكون جاهزة لحسابات علم الألوان ومقارنة ملفات التعريف والتحويل إلى فضاءات مثل CIE L*a*b*.
يرجى إدخال لون sRGB صالح
يرجى إدخال القنوات الحمراء والخضراء والزرقاء في صورة أعداد صحيحة من 0 إلى 255. وهذه هي قيم قنوات sRGB المعتادة في ألوان rgb() ضمن CSS وفي معظم بيانات الصور المخصصة للشاشات. الحقول الثلاثة مطلوبة لأن نتيجة XYZ تصف المساهمة الضوئية المجمعة للون الكامل.
ترفض الأداة القنوات المفقودة والقيم العشرية والقيم غير الرقمية والأعداد الواقعة خارج النطاق المسموح، ولا تقصها أو تخمّنها من دون تنبيه. ويفيد هذا السلوك الصارم في مسارات العمل الآلية، إذ تؤدي بيانات المصدر غير الصالحة إلى خطأ إدخال واضح بدل إنتاج إحداثية تبدو معقولة وهي خاطئة. فعلى سبيل المثال، يُدخل الأحمر الخالص بالقيم r 255 وg 0 وb 0، أما الرمادي المتوسط المحايد فيستخدم العدد نفسه للقنوات الثلاث.
تُفسر المدخلات على أنها sRGB قياسية حصراً. وتتطلب قيم Adobe RGB وDisplay P3 وProPhoto RGB وRGB الأصلي للكاميرا أو القيم ذات ملف التعريف المضمّن المجهول مصفوفة ومنحنى نقل خاصين بفضائها، ولذلك ينبغي عدم إرسالها على أنها sRGB.
فهم خطية غاما ومصفوفة التحويل
قيم sRGB المخزنة غير خطية، فهي مرمزة بمنحنى نقل مصمم لأنظمة العرض وللاستفادة الفعالة من الدقة البصرية. يجب أن تعمل عملية ضرب المصفوفة على كميات ضوئية خطية، ولذلك تقسم الأداة أولاً كل قناة على 255 ثم تطبق دالة فك الضغط العكسية الخاصة بـsRGB. تستخدم قيم القنوات المنخفضة الفرع الخطي، بينما تستخدم القيم الأعلى فرع القوة 2.4 المحدد لـsRGB.
بعد ذلك تُضرب المكونات الخطية الحمراء والخضراء والزرقاء في مصفوفة التحويل القياسية 3 في 3 من sRGB إلى XYZ. تعبّر هذه المصفوفة عن الألوان الأولية لـsRGB بالنسبة إلى المراقب القياسي CIE 1931 ذي الزاوية 2 درجة ونقطة البياض المرجعية D65. يمثل X عموماً مكوّن تحفيز مرجحاً نحو الأحمر، ويتوافق Y مع النصوع النسبي، بينما يُرجح Z بقوة نحو الأزرق، لكن لا ينبغي اعتبار أي منها مجرد قناة RGB أعيدت تسميتها.
من الضروري فصل إزالة غاما عن التحويل بالمصفوفة. فتطبيق المصفوفة مباشرة على القيم المرمزة 0–255 ينتج إحداثيات خاطئة بصورة منهجية، ولا سيما في الدرجات المتوسطة والألوان الداكنة.
قراءة نتيجة XYZ واستخدامها
تعرض الاستجابة X وY وZ على مقياس 0–100، وتحدد صراحة نقطة البياض والمراقب والمقياس، كي لا تضطر الشفرة اللاحقة إلى استنتاج الاصطلاح. تبلغ قيم البياض المرجعي في sRGB تقريباً X 95.047 وY 100 وZ 108.883؛ ولذلك يجوز أن تتجاوز Z القيمة 100 رغم أن تسمية المقياس هي 0–100. تصف هذه التسمية التطبيع الشائع الذي تكون فيه Y للبياض المرجعي مساوية لـ100، ولا تعني فرض حد أقصى صارم على كل مكوّن.
يُستخدم XYZ غالباً فضاء اتصال وسيطاً. ويمكنكم تطبيع القيم ثم الانتقال إلى CIE L*a*b*، أو حساب إحداثيات اللونية، أو مقارنة نقاط البياض، أو تمرير البيانات إلى مسار لإدارة الألوان يتوقع بيانات D65 XYZ صراحة. عند مقارنة النتيجة بحاسبة أو مكتبة أخرى، يرجى التحقق من ملف RGB والمراقب والبياض المرجعي ومقياس الخرج ومعاملات المصفوفة وطريقة التقريب.
قد يؤدي اختلاف أي من هذه الاصطلاحات إلى أرقام مختلفة من دون أن يكون أحد التطبيقين معيباً بالضرورة.
حالات الاستخدام
إعداد لون sRGB للتحويل إلى LAB
استخدموا XYZ D65 مرحلة اتصال قبل تطبيق تحويل البياض المرجعي الخاص بـCIE L*a*b*.
التحقق من مكتبة لمعالجة الألوان
قارنوا خرج المصفوفة الحتمي لعينات sRGB معروفة عند تطوير شفرة معالجة الألوان أو اختبارها.
حساب الإحداثيات اللونية
حوّلوا قنوات ألوان الويب إلى قيم تحفيز ثلاثي لتحليل النصوع واللونية وملفات التعريف.
الأسئلة الشائعة
ما تكلفة التحويل؟
يمكن تشغيل محول المتصفح مجاناً في هذه الصفحة.
أي فضاء ألوان RGB تستخدمه الأداة؟
تستخدم الألوان الأولية القياسية لـsRGB ومنحنى النقل العكسي لـsRGB، ولا تفسر قيم Adobe RGB أو Display P3 أو RGB الأصلي للجهاز.
ما نقطة البياض والمراقب المستخدمان؟
تستند المصفوفة إلى نقطة البياض D65 والمراقب القياسي CIE 1931 ذي الزاوية 2 درجة.
لماذا يمكن أن تتجاوز Z القيمة 100؟
يطبّع المقياس الشائع Y للبياض المرجعي إلى 100. وتبلغ إحداثية Z لذلك البياض مع D65 نحو 108.883، لذا تكون القيم فوق 100 صالحة.
هل تُقبل قنوات RGB العشرية أو الخارجة عن النطاق؟
لا. يجب أن تكون كل قناة عدداً صحيحاً من 0 إلى 255.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/color/rgb-xyz \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"r":255,"g":128,"b":0}'const res = await fetch("https://api.kit.forhosting.com/color/rgb-xyz", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"r": 255,
"g": 128,
"b": 0
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/rgb-xyz",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"r": 255,
"g": 128,
"b": 0
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/rgb-xyz", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"r":255,"g":128,"b":0}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"r":255,"g":128,"b":0}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/rgb-xyz", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"r": 255,
"g": 128,
"b": 0
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.rgb_xyz",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الحدود
min_channel | 0 |
max_channel | 255 |
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
وينفذ المتصفح وAPI الحساب الحتمي نفسه.
قراءة نتيجة XYZ واستخدامها
تُقرّب النتائج إلى ثماني منازل عشرية للمحافظة على استقرار JSON مع دقة تفوق ما تحتاج إليه معظم الواجهات والتقارير.