Как преобразовать 32-битный RGB в 16-битный RGB на языке программирования С#?

Возможный дубликат:
Как преобразовать растровое изображение с 32-битным в 16-битное качество цвета в C#

У меня проблемы.

Мне нужно преобразовать 32-битное изображение RGB в 16-битное RGB с помощью С#.

Может ли кто-нибудь предложить отправную точку для меня?

Спасибо


person uhud    schedule 16.03.2011    source источник
comment
Ваш вопрос не ясен. Можете ли вы опубликовать код или хотя бы объяснить, что вы подразумеваете под 16-битным и 32-битным RGB?   -  person casablanca    schedule 17.03.2011
comment
Начальная точка: System.Drawing пространство имен.   -  person Matteo Italia    schedule 17.03.2011
comment
Учитывая, что вы, вероятно, еще не пробовали, stackoverflow.com/questions/2378690/ - это должно помочь вам понять, как это сделать. Гугл тоже в помощь.   -  person dotalchemy    schedule 17.03.2011
comment
Дублирование stackoverflow.com/questions/5183767/   -  person Keith Adler    schedule 17.03.2011


Ответы (1)


Разделите каждое значение R, G и B на 2^16, или 65536 — сдвинув их на 16 бит вправо (это может быть намеком на производительность) — и затем рекомбинируйте результаты.

person Joost Diepenmaat    schedule 16.03.2011
comment
Я дошел до того, что private void button1_Click(object sender, EventArgs e) { b = Convert.ToByte(Convert.ToByte(textBox1.Text) ›› 3); MessageBox.Show(b.ToString()); int g = Convert.ToByte(textBox2.Text) ›› 2; MessageBox.Show(g.ToString()); байтовая денема = Convert.ToByte (Convert.ToByte (g) & 7); textBox3.Text=денем.ToString(); byte deneme2 = Convert.ToByte(Convert.ToByte(deneme) ‹‹ 5); байт бир = Convert.ToByte(b + deneme2); MessageBox.Show(bir.ToString()); - person uhud; 17.03.2011