فك RGB555 إلى قنوات RGB بعمق 8 بت
حوّل رقم RGB555 المضغوط إلى RGB عادي: القيمة 0x7C1F تعطي أحمر 255 وأخضر 0 وأزرق 255. يُمدّ كل مستوى من خمس بتات إلى النطاق الكامل من 0 إلى 255، فتظهر رسوم الألعاب القديمة وبيانات الأجهزة ألوانًا حقيقية. مجاني في متصفحك.
- مجاني
- يعمل في متصفحك
- دون تسجيل
- بياناتك لا تغادر جهازك
شغّل الأداة مجانًا
مثال محلول
- القيمة
- 0x7C1F
- القيمة
- 31,775
- Hex
- 0x7C1F
- Red
- 255
- الأخضر
- 0
تحوّل أداة فك RGB555 إلى RGB لونًا معبأً غير موقّع بعمق 15 بت إلى قيم منفصلة للأحمر والأخضر والأزرق، ملائمة لمسارات الألوان الحديثة بعمق 8 بت. تقبل نصًا عشريًا أو نصًا ست عشري يبدأ بـ0x، وتتحقق من الإدخال كاملًا، ثم تستخرج حقول البتات الخمسة الثلاثة وتوسّع كل حقل إلى المجال من 0 إلى 255. تحتفظ النتيجة أيضًا بالمكونات الأصلية وبتمثيل ست عشري موحّد، حتى تتمكنوا من فحص التحويل ومقارنته واختباره ودمجه بسهولة.
فهم ترتيب بتات RGB555
يخزن RGB555 ثلاث قنوات لونية داخل خمسة عشر بتًا ذا دلالة. في هذه الأداة تحمل البتات من 14 إلى 10 اللون الأحمر، ومن 9 إلى 5 اللون الأخضر، ومن 4 إلى 0 اللون الأزرق. لذلك يمثل كل حقل عددًا صحيحًا من 0 إلى 31.
يجب أن تكون القيمة المعبأة غير موقعة وضمن المجال من 0 إلى 32767؛ ولا تُفسر بتة علوية إضافية على أنها شفافية أو شدة أو حشو. يمكنكم إدخال نص عشري مثل 31775، أو نص ست عشري ببادئة 0x صريحة مثل 0x7C1F. يتضمن الإخراج صيغة ست عشرية موحّدة من أربعة أرقام، وكل مكوّن أصلي من خمسة بتات، والقناة الموسعة إلى ثمانية بتات.
يتيح ذلك مقارنة النتيجة بتفريغ الذاكرة ووثائق التنسيق والتحقق من الأقنعة والإزاحات دون تنفيذ العمليات يدويًا.
تحويل خمسة بتات إلى ثمانية
بعد الاستخراج، يُوسّع كل مكوّن على كامل مجال الثمانية بتات وفق الصيغة round(المكوّن × 255 ÷ 31). تصبح القيمة المخزنة 0 مساوية لـ0، وتصبح 31 مساوية لـ255، وتُوزع القيم الوسيطة بصورة حتمية. هذه توسعة عددية وليست استعادة لمعلومات لونية غير موجودة، لأن RGB555 لا يملك سوى 32 مستوى لكل قناة.
تُذكر القاعدة صراحة لأن بعض المحولات تستخدم إزاحة إلى اليسار يصل حدها الأقصى إلى 248، أو تكرر البتات.
التحقق من الألوان المعبأة عمليًا
استخدموا الأداة عند فحص الرسومات القديمة وبيانات الشاشات المضمنة والأنسجة والسجلات الثنائية وحالات المحاكيات، أو أي تنسيق يعرّف RGB555 بحيث يكون الأحمر في حقل البتات الخمسة الأعلى. يختلف BGR555 لأنه يعكس مواضع القنوات، بينما يمنح RGB565 ست بتات للأخضر، ولذلك لا تُخمن هذه التنسيقات. يُرفض النص المشوه والإشارات والكسور والأرقام الست عشرية بلا 0x والمحارف اللاحقة والقيم خارج مجال 15 بت غير الموقع بدل تحليلها جزئيًا؛ فلا تتحول 123abc بصمت إلى 123.
للأتمتة، أرسلوا قيمة واحدة في كل طلب واستخدموا الحقول العددية المسماة. ولأن الخوارزمية لا تستخدم الشبكة أو العشوائية أو الساعة أو تحليلًا يعتمد على الإعدادات المحلية أو حالة متغيرة، فإن الإدخال الصحيح نفسه ينتج دائمًا الإخراج نفسه.
حالات الاستخدام
فحص ألوان الألعاب القديمة
حوّلوا مدخلات لوحة الألوان المعبأة إلى قنوات 8 بت مع الاحتفاظ بمكونات الخمسة بتات لتصحيح الأخطاء.
التحقق من بيانات شاشة مضمنة
افحصوا قيم سجلات RGB555 أو مخازنه المؤقتة وارفضوا ما يتجاوز مجال 15 بت غير الموقع.
إعداد سجلات ألوان مفكوكة
حوّلوا القيم الست عشرية أو العشرية إلى حقول عددية مسماة للاختبارات أو الترحيل أو التحليل.
الأسئلة الشائعة
ما ترتيب البتات الذي تستخدمه الأداة؟
يشغل الأحمر البتات 14–10، والأخضر البتات 9–5، والأزرق البتات 4–0.
كيف تُوسّع القنوات ذات الخمسة بتات؟
يُحسب كل مكوّن وفق round(المكوّن × 255 ÷ 31)، لينتج عددًا صحيحًا من 0 إلى 255.
هل يمكن إدخال قيمة ست عشرية؟
نعم. استخدموا بادئة 0x، مثل 0x7C1F. تُرفض الأرقام الست عشرية التي لا تحمل هذه البادئة.
هل تقبل الأداة RGB565 أو BGR555؟
لا. يختلف إسناد البتات أو ترتيبها في هذين التنسيقين؛ ولا يُفك إلا ترتيب RGB555 الموثق.
ماذا يحدث للبتة 15؟
تُرفض القيم الأكبر من 0x7FFF، ولا تُفسر البتة العليا الإضافية على أنها ألفا أو علامة.
أدوات ذات صلة
للمطوّرين — الوصول عبر API
كل ما في هذه الصفحة متاح برمجيًا. هذا القسم موجّه للفرق التقنية التي تريد ربط الأداة بأنظمتها الخاصة؛ بقية المستخدمين يمكنهم استخدام الأداة أعلاه مباشرة دون الحاجة لقراءة ما يلي.
الـEndpoint
صادِق على طلبك بترويسة Bearer، وأرسل طلب POST واحدًا لتدخل مهمتك قائمة التنفيذ فورًا؛ ثم تستلم النتيجة عبر webhook أو رابط موقّع.
استدعِ الخدمة من بيئتك
curl -X POST https://api.kit.forhosting.com/color/rgb555-rgb \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":"0x7C1F"}'const res = await fetch("https://api.kit.forhosting.com/color/rgb555-rgb", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": "0x7C1F"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/color/rgb555-rgb",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": "0x7C1F"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/color/rgb555-rgb", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":"0x7C1F"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":"0x7C1F"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/color/rgb555-rgb", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)مثال على الطلب
{
"value": "0x7C1F"
}مثال على الاستجابة
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "color.rgb555_rgb",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}الواجهة غير متزامنة: تستلم task_id فور الإرسال، ويمكنك الاستعلام عن الحالة بمعدل طلب واحد في الثانية.
الأسعار
السعر معلن كما تراه: لا tokens ولا نظام نقاط؛ وإن فشلت المهمة فلن تُحاسَب عليها.
الأخطاء
| HTTP | الرمز | المعنى |
|---|---|---|
401 | unauthorized | مفتاح الوصول مفقود أو غير صالح؛ تحقق من ترويسة Bearer في طلبك. |
402 | insufficient_balance | رصيدك لا يكفي لتنفيذ هذه المهمة؛ أعد شحن الرصيد ثم أعد المحاولة. |
404 | unknown_type | نوع المهمة المطلوب غير موجود في الكتالوج — راجع الاسم المرسل في الطلب. |
429 | rate_limited | تجاوزت الحد المسموح من الطلبات؛ انتظر قليلًا ثم أعد المحاولة. |
ملاحظات تقنية
تحويل خمسة بتات إلى ثمانية
تستخدم هذه القدرة دائمًا صيغة القياس وتعيد JSON ثابتًا عبر API والمتصفح. وتبقى الحقول red_5bit وgreen_5bit وblue_5bit في الاستجابة كي تتحققوا من الأقنعة أو تطبقوا لاحقًا سياسة توسعة مختلفة تفرضها مواصفة قديمة.
التحقق من الألوان المعبأة عمليًا
السعر الأساسي لطلب API هو $0.002.