اینترنت پنجره ها اندروید

تصویر در فرمت RGB چیست؟ مدل رنگ RGB.

من اخیرا کد را به طور دقیق این را نوشته ام، بر اساس فرمت رنگ جهانی Converter Scummvm.

پاسخ به سوال دیگری در اینجا در Stackoverflow است، و اگر چه این سوال است، به نظر من، یک تکراری نیست، من فکر می کنم پاسخ این است، بنابراین من فقط با او تماس بگیرید:

به یاد داشته باشید، من قطعا نمی دانم که چگونه چند برابر برای هر عامل در فرمت 5-6-5 کار می کند. آیا جزء 6 بیتی دقیق تر است؟ در این مورد سیستم اتوماتیک تحول این کار را انجام خواهد داد.

در هر صورت، با کد بالا، این مثال باید بهترین نیازهای شما را برآورده کند. در اینجا استفاده می شود برای تبدیل فرمت کاربر 5-5-5-1 RGBA:

// byts 84 21 \u003d\u003d\u003e 0x8421 (be) \u003d\u003d bin \u003d\u003d 1000 0100 0010 0001 \u003d\u003d split \u003d\u003d\u003e 10000 10000 10000 1 \u003d\u003d dec \u003d\u003d\u003e 16 16 16 1 (RGBA) \u003d\u003d تنظیم \u003d\u003d \u003e 128 128 128 255 // مقادیر موجود در سازنده عبارتند از: بایت در هر پیکسل، مقدار بیت ها و مقدار برای انتقال R، G، B و اجزای سازنده و انتشارات داده ها. Pixelformatter خصوصی خصوصی Pixelformatter \u003d جدید PixelFormatter (2، 5، 11، 5، 6، 5، 1، 1، 0، False)؛ حفاظت از بایت استاتیک محافظت شده 16BTO32B (Byte Imagedata، Int32 startoffset، int32 عرض، ارتفاع INT32، REF INT32 Stride) (int32 newimagestride \u003d عرض * 4؛ بایت newimagedata \u003d byte جدید؛ برای (int32 y \u003d 0؛ y< height; y++) { for (Int32 x = 0; x < width; x++) { Int32 sourceOffset = y * stride + x * 2; Int32 targetOffset = y * newImageStride + x * 4; Color c = SixteenBppFormatter.GetColor(imageData, startOffset + sourceOffset); PixelFormatter.Format32BitArgb.WriteColor(newImageData, targetOffset, c); } } stride = newImageStride; return newImageData; }

همه چیزهایی که باید انجام دهید این است که Pixelformatter خود را با توزیع صحیح بیت برای فرمت 5-6-5 تعریف کنید.

شما واقعا باید به bitmap.lockbits () نگاه کنید تا اطلاعات 16 بیتی منبع از تصویر را دریافت کنید و این داده ها را به یک تصویر جدید 32 بیتی IRGB بنویسید. ویژگی ساخت من ذکر شده در این پاسخ باید نشان دهد که چگونه روند را پردازش می کند. روش خواندن در واقع بسیار ساده تر است:

///

/// بوی خام از یک تصویر می شود. /// /// تصویر برای دریافت بایت از. /// گام های داده های تصویر بازیابی شده. /// بایت های خام از تصویر Byte GetimageTata عمومی عمومی (Bitmap Sourcedimage، Out Int32 Stride) (Bitmapdata sourcedata \u003d sourceimage.lockbits (مستطیل جدید (0، 0، sourceimage.width، sourcemage.height)، imagelockmode.readonly، sourcemage.pixelformat)؛ Stride \u003d sourcedata.Stride ؛ byte data \u003d byte جدید؛ marshal.copy (sourcedata.scan0، داده ها، 0، data.length)؛ sourceimage.unlockbits (sourcedata)؛ داده های بازگشت؛)

لطفا توجه داشته باشید که در تمام شرایط زمانی که شما بایت تصاویر بدون درمان را ویرایش می کنید، تفاوت بین "مراحل" و "عرض". در بسیاری از فرمت ها، یک خط پیکسل در تصویر توسط چهار بعدی از چهار بایت تکمیل شده است، بنابراین شما نمی توانید به سادگی آن را به عنوان یک آرایه بخوانید و پردازش کنید، که تمام داده های تصویر را می پذیرد؛ این بایت های سرمایه بسیار سریع خواهد بود. همانطور که در کد نمونه من نشان داده شده است برای تبدیل فرمت 16bpp من در ARGB، شما واقعا باید این کار را به نوبه خود انجام دهید، و در هر خط، اطمینان حاصل کنید که فقط از داده هایی که هنوز در محدوده (عرض * بایت در پیکسل قرار دارند) استفاده کنید.

من متوجه شدم که برای تمام توابع که می توانند گام را تغییر دهند، توصیه می شود آن را به صورت Ref مشخص کنید.

راحت ترین، مشترک، راه جهانی نشانه های رنگ - RGB. RGB یک مخفف (قرمز سبز آبی) است که به معنی: رنگ قرمز، سبز، آبی - رنگ پایه، با ترکیب که تمام رنگ های دیگر به دست آمده است.

رنگ با RGB را می توان به روش های مختلف نصب کرد، سپس به طور دقیق در مورد هر یک.

فرمت ضبط رنگ کاربردی در CSS

نمای کلی فرمت عملکردی: RGB (رنگ)، جایی که "رنگ" ترکیبی از سه عدد صحیح (از 0 تا 255) یا سه درصد (از 0 تا 100 درصد) است که از طریق کاما ذکر شده است. بعد، چند مثال.

RGB (255، 255، 255) / * رنگ سفید * /
rGB (0، 0، 0) / * رنگ سیاه * /
rGB (255، 0، 0) / * رنگ قرمز * /

RGB (100٪، 100٪، 100٪) / * رنگ سفید * /
rGB (0٪، 0٪، 0٪) / * رنگ سیاه * /
rGB (100٪، 0٪، 0٪) / * رنگ قرمز * /

پس از RGB و قبل (هیچ فضایی وجود ندارد!

در حال حاضر اجازه دهید متن متن هدر را با برخی از رنگ های تصادفی، به عنوان مثال، RGB (222، 14، 100)، نوعی رنگ صورتی یا بنفش است. علاوه بر این نمونه از برنامه.

H1 (
رنگ: RGB (222، 14، 100)؛
}

و در حال حاضر با کمک ارزش های مورد علاقه و RGB، یک زن و شوهر از سایه های سبز ایجاد کنید. این یک مثال 4 است.

مثال 4، کد CSS

p.one (رنگ: RGB (0٪، 20٪، 0٪)؛)
p.TWO (رنگ: RGB (0٪، 40٪، 0٪)؛)
p.Three (رنگ: RGB (0٪، 60٪، 0٪)؛)
p.four (رنگ: RGB (0٪، 80٪، 0٪)؛)
p.five (رنگ: RGB (0٪، 100٪، 0٪)؛)

مثال 4، کد HTML

سبز


سبز


سبز


سبز


سبز

به هر حال، درصد می تواند کسری باشد، به عنوان مثال، RGB (40.2٪، 22.34٪، 12٪)، بنابراین رنگ دقیق تر خواهد بود.

و چه اتفاقی می افتد اگر ما فراتر از محدوده ارزش ها برویم؟ هیچ چیز خاصی وجود نخواهد داشت، فقط مقادیر به نزدیکترین مرز (0٪ یا 100٪، 0 یا 255) تفسیر می شود. سپس مثال پنجم است.

RGB (200٪، 3100٪، 101٪) / * RGB (100٪، 100٪، 100٪) * /
rGB (-200٪، 0٪، 12٪) / * RGB (0٪، 0٪، 12٪) * /
rGB (257، -130، 212) / * RGB (255، 0، 212) * /

فرض کنید ما کد CSS زیر را داریم: RGB (12٪، 96٪، 43٪) و ما باید ارزش های سود را به عدد صحیح ترجمه کنیم. این به سادگی انجام می شود، شما باید هر سطح را به اندازه 255 افزایش دهید و سپس به 100 تقسیم شود، در نتیجه ما RGB (30.6، 244.8، 109.65) را به دست می آوریم، پس از آنکه ما طبق قوانین ریاضیات گردیم و مورد نظر خود را بدست آوریم RGB (31، 245، 110).

فرمت ضبط رنگ صندنت در CSS

من اغلب از فرمت دقیق هگزادسیمال استفاده می کنم، این فقط کوتاهتر است. مثال بیشتر

p (رنگ: #ffffff؛) / * رنگ متن سفید * /
p (رنگ: # 000000؛) / * رنگ متن سیاه * /
p (رنگ: # ff0000؛) / * متن قرمز * /

تقریبا هیچ گونه تفاوت از RGB وجود ندارد. سه رنگ RRGGBB در محدوده 00 تا FF مشخص شده اند (FF 255 در سیستم دهدهی). همانطور که می بینید، بین اعداد و حروف هیچ فضایی و نشانه های دیگر وجود ندارد (دلیل دوم این که چرا این فرمت را بیشتر دوست دارم)، و کد هگزادسیمال با مشبک (#) شروع می شود. به هر حال، فرمت هگزادسیمال فرمت HEX نامیده می شود. علاوه بر این، نمونه ای از سه رنگ مشابه که به سه روش نوشته شده است.

آیا مشکلی با فایل های Open.RGB دارید؟ ما اطلاعاتی را جمع آوری می کنیم فرمت های فایل و ما می توانیم بگوییم که به فایل های RGB نیاز دارید. علاوه بر این، ما برنامه هایی را که برای باز کردن یا تبدیل چنین فایل ها مناسب هستند توصیه می کنیم.

چرا شما نیاز به forform.rgb دارید؟

مشتق شده از استاندارد رنگ افزودنی مدل رنگ RGB (قرمز، سبز، آبی)، گسترش .RGB مربوط به نوع فایل "رنگ Raster Image RGB SGI" - بخشی از فرمت فایل تصویر SGI گسترده تر (فرمت فایل تصویر SGI). در حال حاضر فعالیت های خود را متوقف کرد، SGI (گرافیک سیلیکون اصلی) پیشگام در زمینه ایستگاه های گرافیکی با کارایی بالا بر اساس یونیکس بود و فرمت Raster معمولی خود را توسعه داد. مشخصات کامل فرمت SGI Raster منتشر شد.

فایل .RGB این یک تصویر رنگی RGB (رنگ 24 بیتی) در فرمت SGI است. علاوه بر حالت غیر فشرده، فرمت SGI همچنین برای فشرده سازی RLE (کدگذاری رمزگذاری - کدگذاری) را فراهم می کند. در یک فایل .RGB ممکن است یک تصویر شطرنجی وجود داشته باشد.



فایل های SGI RGB توسط Basic Basic شناخته می شوند و پشتیبانی می شوند سردبیران گرافیک و برنامه های مشاهده در بسیاری از محیط های سفارشی. بعلاوه .RGB تصاویر SGI Raster می توانند افزونه های دیگر را داشته باشند، یعنی .RGBa (تصاویر RGBA 32 بیتی) و .sgi (گسترش کلی).

در گسترش کیفیت مشابه .RGB ممکن است گاهی اوقات با استفاده از فرمت معمولی رنگ از رنگ استفاده شود تصاویر شطرنجی Q0 (RGB، رنگ 24 بیتی). این فرمت نیز توسط اکثر بینندگان گرافیکی / ویراستاران اصلی پشتیبانی می شود.

برنامه های باز یا تبدیل فایل های RGB

شما می توانید فایل های RGB را با استفاده از برنامه های زیر باز کنید: 

مدل RGB رنگ های منتشر شده را توصیف می کند. این بر اساس سه رنگ اصلی (پایه) است: قرمز (قرمز)، سبز (سبز) و آبی (آبی). مدل RGB می تواند "بومی" برای صفحه نمایش نامیده شود. رنگ های باقی مانده توسط ترکیبی از پایه به دست می آیند. رنگ این نوع افزودنی نامیده می شود.

این را می توان از نقاشی دیده می شود که ترکیبی از سبز و قرمز رنگ زرد، ترکیبی از سبز و آبی - آبی، و ترکیبی از هر سه رنگ سفید است. از این می توان نتیجه گرفت که رنگ ها در RGB کم می شوند.

رنگ های اصلی از زیست شناسی انسان گرفته شده است. به این ترتیب، این رنگ ها بر اساس پاسخ فیزیولوژیکی چشم انسان به نور است. چشم انسان دارای یک سلول های فتوکپتور است که به نور سبز (M)، زرد سبز (L) و آبی-بنفش (S) نور واکنش نشان می دهد ( حداکثر طول امواج از 534 نانومتر، 564 نانومتر و 420 نانومتر). مغز انسان به راحتی می تواند طیف گسترده ای از رنگ های مختلف را بر اساس تفاوت در سیگنال های به دست آمده از سه امواج تشخیص دهد.

گسترده ترین مدل رنگ RGB در صفحه نمایش ال سی دی یا پلاسما مانند یک مانیتور تلویزیون یا کامپیوتر استفاده می شود. هر پیکسل روی صفحه نمایش را می توان در رابط سخت افزاری (به عنوان مثال، نقشه های گرافیکی) به عنوان مقادیر قرمز، سبز و آبی ارائه داد. مقادیر RGB در شدت تغییر می کنند که برای وضوح مورد استفاده قرار می گیرند. دوربین ها و اسکنر همچنین به ترتیب مشابه کار می کنند، آنها رنگ را با سنسورهایی که شدت RGB مختلف را برای هر پیکسل ثبت می کنند، ضبط می کنند.

در حالت 16 بیت، پیکسل، همچنین به عنوان Highcolor شناخته می شود، دارای 5 بیت بر روی رنگ (اغلب به عنوان 555 حالت نامیده می شود) و یا با کمی اضافی برای سبز (به نام 565 حالت). رنگ سبز به علت این واقعیت است که چشم انسان توانایی شناسایی سایه های بیشتر سبز از هر رنگ دیگر را دارد.

مقادیر RGB ارائه شده در حالت 24 بیت بر روی پیکسل (BPP)، همچنین به عنوان Truecolor شناخته می شود، معمولا توسط سه عدد صحیح بین 0 تا 255 متمایز می شود. هر یک از این سه عدد به ترتیب، شدت قرمز، سبز و آبی است.

در RGB - سه کانال: قرمز، آبی و سبز، به عنوان مثال RGB - مدل رنگ سه کاناله. هر کانال می تواند از 0 تا 255 در دهدهی یا نزدیک به واقعیت، از 0 تا FF در سیستم های شماره هگزادسیمال ارزش داشته باشد. این به این واقعیت توضیح داده شده است که بایت، که توسط کانال کدگذاری شده است، و در واقع هر بایت شامل هشت بیت است و کمی می تواند 2 مقادیر 0 یا 1 را داشته باشد، و تنگ 28 \u003d 256. به عنوان مثال، در RGB، یک رنگ قرمز می تواند 256 درجه بندی را انجام دهد: از صرفا قرمز (FF) به سیاه (00). بنابراین، محاسبه شده است که مدل RGB شامل تنها 2563 یا 16777216 رنگ است.

در RGB، سه کانال، و هر کدام توسط 8 بیت کد شده است. حداکثر، FF (یا 255) مقدار رنگ خالص را می دهد. رنگ سفید با ترکیب تمام رنگ ها، دقیق تر، درجه بندی های محدود آنها به دست می آید. کد سفید \u003d FF (قرمز) + FF (سبز) + FF (آبی). بر این اساس، کد سیاه است \u003d 000000. کد زرد \u003d FFFF00، بنفش \u003d FF00FF، آبی \u003d 00FFFF.

همچنین حالت های صفحه نمایش 32 و 48 بیتی وجود دارد.

RGB برای چاپ روی کاغذ استفاده نمی شود، در عوض یک فضای رنگی CMYK وجود دارد.

CMYK مدل رنگی مورد استفاده در رنگ چاپ است. مدل رنگ این یک مدل ریاضی برای توصیف رنگ با عدد صحیح است. مدل CMYK بر روی رنگ های آبی، بنفش، زرد و سیاه ساخته شده است.