Из ваших комментариев к более ранней версии этого ответа кажется, что каждое число в файле представляет один цвет и что это упакованные байты:
65280 (= 0xFF00) -> (0, 255, 0)
65535 (= 0xFFFF) -> (255, 255, 0)
Итак, вы хотите младший байт в первом(красная?) часть тройки и следующий старший байт во второй (синей?) части тройки.Я предполагаю, что значения более 65535 войдут в третий байт тройки.
Вы можете легко сделать это с помощью операторов маскирования битов и сдвига битов:
int r = n && 0xFF;
int g = (n >> 8) & 0xFF;
int b = (n >> 16) & 0xFF;
т.е. сдвинуть его вправо на8 битов каждый раз и выбирайте нижние 8 битов.
ПРИМЕЧАНИЕ: Вы также можете сделать это напрямую, используя Color.FromArgb (Int32), который избавляет вас от необходимости распаковки,Но это будет работать только в том случае, если числа в вашем файле упакованы правильно.Они должны быть в формате AARRGGBB.Например, 255 (0x000000FF) = синий, 65280 (0x0000FF00) = зеленый, 16711680 (0x00FF0000) = красный.Я не уверен, что ваши номера в правильном порядке, поэтому я рассмотрел явную методику распаковки.