Файл rgb. Открытие RGB файлов

У вас есть проблема с открытием.RGB-файлов? Мы собираем информацию о файловых форматах и можем рассказать для чего нужны файлы RGB. Дополнительно мы рекомендуем программы, которые больше всего подходят для открытия или конвертирования таких файлов.

Для чего нужен файловый формат.RGB?

Производное от стандартного обозначения аддитивной цветовой модели RGB (красный, зеленый, синий), расширение .rgb связано с типом файлов "Цветное растровое изображение RGB SGI" - частью более широкого формата файлов изображений SGI (SGI Image File Format). Ныне прекратившая свою деятельность, компания SGI (первоначально Silicon Graphics) была пионером в области высокопроизводительных графических станций на базе Unix и разработала собственный общий растровый формат. Была опубликована полная спецификация растрового формата SGI.

Файл .rgb представляет собой цветное растровое изображение RGB (24-битный цвет) в формате SGI. Помимо несжатого режима формат SGI также предусматривает возможность RLE-сжатия (Run Length Encoding - Групповое кодирование). В одном файле .rgb может находиться одно растровое изображение.



RGB-файлы SGI распознаются и поддерживаются большинством основных графических редакторов и программ для просмотра в большей части пользовательских сред. Помимо .rgb растровые изображения SGI могут иметь другие расширения, а именно .rgb a (32-битные RGBA-изображения) и .sgi (общее расширение).

В аналогичном качестве расширение .rgb может иногда встречаться применительно к редкому типовому формату цветных растровых изображений Q0 (RGB, 24-битный цвет). Этот формат также распознается и поддерживается большинством основных графических просмотрщиков/редакторов.

Программы для открытия или конвертации RGB файлов

Вы можете открыть файлы RGB с помощью следующих программ: 

Самый удобный, распространенный, универсальный способ указания цвета - RGB. RGB это аббревиатура (Red Green Blue), что означает: красный, зеленый, синий – основные цвета, путем комбинирования которых получаются все остальные цвета.

Цвет при помощи 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 {
color: rgb(222, 14, 100);
}

А теперь при помощи процентных значений и RGB создадим пару оттенков зеленого. Это пример 4.

Пример 4, CSS код

P.one { color: rgb(0%, 20%, 0%); }
p.two { color: rgb(0%, 40%, 0%); }
p.three { color: rgb(0%, 60%, 0%); }
p.four { color: rgb(0%, 80%, 0%); }
p.five { color: 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 { color: #FFFFFF; } /* белый цвет текста */
p { color: #000000; } /* черный цвет текста */
p { color: #FF0000; } /* красный цвет текста */

Отличий от RGB почти нет. Указывается три цвета RRGGBB в диапазоне от 00 до FF (FF это 255 в десятичной системе). Как видите, между числами и буквами нет пробелов и прочих знаков (вторая причина, почему мне этот формат больше нравится), и шестнадцатеричный код начинается с решетки (#). Кстати, шестнадцатеричный формат называют HEX форматом. Далее пример трех одинаковых цветов, которые написаны тремя способами.

RGB модель описывает излучаемые цвета. Она основана на трёх основных (базовых) цветах: красный (Red), зелёный (Green) и синий (Blue). RGB-модель можно назвать "родной" для дисплея. Остальные цвета получаются сочетанием базовых. Цвета такого типа называются аддитивными.

Из рисунка видно, что сочетание зелёного и красного дают жёлтый цвет, сочетание зелёного и синего - голубой, а сочетание всех трёх цветов - белый. Из этого можно сделать вывод о том, что цвета в RGB складываются субтрактивно.

Основные цвета взяты из биологии человека. То есть, эти цвета основаны на физиологической реакции человеческого глаза на свет. Человеческий глаз имеет фоторецептор клеток, реагирующих на наиболее зеленый (М), желто-зеленый (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=256. В RGB, например, красный цвет может принимать 256 градаций: от чисто красного (FF) до чёрного (00). Таким образом несложно подсчитать, что в модели RGB содержится всего 2563 или 16777216 цветов.

В RGB три канала, и каждый кодируется 8-ю битами. Максимальное, FF (или 255) значение даёт чистый цвет. Белый цвет получается путём сочетания всех цветов, точнее, их предельных градаций. Код белого цвета = FF(красный) + FF(зелёный) + FF(синий). Соответственно код чёрного = 000000. Код жёлтого = FFFF00, пурпурного = FF00FF, голубого = 00FFFF.

Также есть еще 32 и 48 битные режимы отображения цветов.

RGB не используется для печати на бумаге, вместо нее существует CMYK-цветовое пространство.

CMYK - это цветовая модель используемая в цветной печати. Цветовая модель является математической моделью для описания цветов целыми числами. CMYK модель построена на голубом, пурпурном, желтом и черном цветах.

Недавно я написал код, чтобы сделать именно это, на основе универсального преобразователя цветового формата проекта ScummVM .

Ответ на другой вопрос здесь, на StackOverflow, и хотя вопрос, на мой взгляд, не является дубликатом, я думаю, ответ есть, поэтому я просто свяжусь с ним:

Помните, я точно не знаю, как множитель для каждого фактора работает в формате 5-6-5. Является ли 6-битный компонент просто более точным? В этом случае автоматическая система преобразования выполнит эту работу.

В любом случае, с приведенным выше кодом, этот пример должен наилучшим образом удовлетворить ваши потребности. Здесь он используется для преобразования пользовательского формата 5-5-5-1 RGBA:

//bytes 84 21 ==> 0x8421 (BE) ==bin==> 1000 0100 0010 0001 ==split==> 10000 10000 10000 1 ==dec==> 16 16 16 1 (RGBA) ==adjust==> 128 128 128 255 // values in constructor are: bytes per pixel, amount of bits and amount to shift for getting R, G, B and A components, and data endianness. private static PixelFormatter SixteenBppFormatter = new PixelFormatter(2, 5, 11, 5, 6, 5, 1, 1, 0, false); protected static Byte Convert16bTo32b(Byte imageData, Int32 startOffset, Int32 width, Int32 height, ref Int32 stride) { Int32 newImageStride = width * 4; ; Byte newImageData = new Byte; for (Int32 y = 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-битное изображение ARGB. Моя функция BuildImage , упомянутая в этом ответе , должна показать, как обрабатывать запись. Метод чтения на самом деле намного проще:

///

/// Gets the raw bytes from an image. /// /// The image to get the bytes from. /// Stride of the retrieved image data. /// The raw bytes of the image public static Byte GetImageData(Bitmap sourceImage, out Int32 stride) { BitmapData sourceData = sourceImage.LockBits(new Rectangle(0, 0, sourceImage.Width, sourceImage.Height), ImageLockMode.ReadOnly, sourceImage.PixelFormat); stride = sourceData.Stride; Byte data = new Byte; Marshal.Copy(sourceData.Scan0, data, 0, data.Length); sourceImage.UnlockBits(sourceData); return data; }

Обратите внимание, что во всех ситуациях, когда вы редактируете байты необработанных изображений, разница между "шагами" и "шириной". Во многих форматах одна строка пикселей в изображении дополняется следующим кратным четырем байтам, поэтому вы не можете просто читать и обрабатывать его как массив, предполагающий все данные изображения; эти прописные байты будут очень быстрыми. Как показано в моем примере кода для преобразования моего формата 16bpp в ARGB, вам действительно нужно делать это по очереди, и в каждой строке убедитесь, что вы используете только данные, которые все еще находятся в диапазоне (ширина * байты на пиксель).

Я заметил, что для всех функций, которые могут изменить шаг, рекомендуется указать его как ref .

Мы надеемся, что помогли Вам решить проблему с файлом RGB. Если Вы не знаете, где можно скачать приложение из нашего списка, нажмите на ссылку (это название программы) - Вы найдете более подробную информацию относительно места, откуда загрузить безопасную установочную версию необходимого приложения.

Что еще может вызвать проблемы?

Поводов того, что Вы не можете открыть файл RGB может быть больше (не только отсутствие соответствующего приложения).
Во-первых - файл RGB может быть неправильно связан (несовместим) с установленным приложением для его обслуживания. В таком случае Вам необходимо самостоятельно изменить эту связь. С этой целью нажмите правую кнопку мышки на файле RGB, который Вы хотите редактировать, нажмите опцию "Открыть с помощью" а затем выберите из списка программу, которую Вы установили. После такого действия, проблемы с открытием файла RGB должны полностью исчезнуть.
Во вторых - файл, который Вы хотите открыть может быть просто поврежден. В таком случае лучше всего будет найти новую его версию, или скачать его повторно с того же источника (возможно по какому-то поводу в предыдущей сессии скачивание файла RGB не закончилось и он не может быть правильно открыт).

Вы хотите помочь?

Если у Вас есть дополнительная информация о расширение файла RGB мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся и отправьте нам свою информацию о файле RGB.