PDA

View Full Version : سوال: تبدیل RGB به فرمت 256 رنگ



pa2ab65
دوشنبه 18 خرداد 1388, 14:32 عصر
سلام دوستان
من یه مشکلی واسم پیش اومده اینه که قراره تو یه برنامه ای از عکس های 256 رنگ استفاده کنم و شماره ی اون رنگ رو جایی ذخیره کنم و به یه عددی مثل 214 یا 115 یا 61 که کمتر از 256 هستند واسه این کار نیاز دارم. در واقع تو این برنامه من ملزم هستم از یه آرایه 256 تایی استفاده کنم. سیستم get_pixel رو هم می دونم. مشکل اینجاست که C# فقط با RGB کار می کنه و 3 بایت عدد به من میده. من چطور می تونم این عدد دلخواهمو از توش بکشم بیرون؟
فرض می کنیم که عکس های ورودی همه عکس های bitmap با سیستم 256 رنگ باشند. البته اگه راه حلی دارید که با عکس های 32bit هم کار می کنه و نزدیکتری رنگ رو در 256 میده استقبال می کنم!
با تشکر از همتون.

mohsen_csharp
دوشنبه 18 خرداد 1388, 17:27 عصر
همین متد GetPixel شی Bitmap یک متغیر از نوع Color برمی گردونه که می تونید به تک تک المان های آن دسترسی داشته باشید.

Bitmap bitmap1=new Bitmap("c:\\a.bmp");
Color color1 = bitmap1.GetPixel(10, 10);
byte red = color1.R;
byte green = color1.G;
byte blue = color1.B;
byte alpha = color1.A;