Render.ru

8 bit bmp with alpha chanell

^_^

Знаток
Рейтинг
52
#1
Почему нельзя сохранить 8 bit-ное изображение в формате bmp с альфа каналом?
Делаю image-mode-indexed colors.
После, появляется возможность сохранить bmp в 8 bit, но пропадает возможность сохранить альфа канал (место для галочки серое, т е нельзя нажать).

Если не делать изображение 8bit, то движок сделает это сам и запорит текстуру.
 

M.O.Z.G

Знаток
Рейтинг
50
#2
Все правильно, 32-битный BMP можно получить только в режиме RGB Color. В 8-битный можно сохранять только информацию о цвете. Если, в силу каких-то причин, необходимы 8-битные BMP, сохраняйте отдельными файлами RGB и Alpha.
 

^_^

Знаток
Рейтинг
52
#3
Если, в силу каких-то причин, необходимы 8-битные BMP, сохраняйте отдельными файлами RGB и Alpha.
Как мне тогда сохранить изображение с одним каналом? Я перевёл в серый (grayscale) и хочу сохранить всего один канал. Полученное изображение сохраняется тоже только в 8 битах, и весит столько же как и с тремя каналами.
Я думаю не выгодно так делать. Ок, как мне быть тогда? Скажите мне, как сохранить (какой формат) чтоб получить 16 бит, но с альфой в изображении.
Тарга сохраняет альфу только при 32 битах. PNG не показывает битность.
 

M.O.Z.G

Знаток
Рейтинг
50
#4
Я думаю не выгодно так делать.
Использовать BMP в погоне за экономичностью, это вообще не выгодно. Т.к. уменьшение веса в нем возможно только за счет уменьшения количества цветов.

Скажите мне, как сохранить (какой формат) чтоб получить 16 бит, но с альфой в изображении.
Полноцветное изображение в 16-бит с альфой никакой формат не сохранит - 8+8+8+8=32. А все попытки получить меньшую битность приведут к потере цветовой информации. Т.к. на практике Вы можете получить два файла по 8-бит с помощью PNG, даже 1 8-битный с прозрачным цветом (или используя компрессоры PNG), но это только для пиксель-арта подойдет, или интерфейсов в модном flat дизайне, где нет градаций цветов и полупрозрачностей. В принципе, для каких-то объектов на дальнем плане, или для спрайтов иконок, можете попробовать использовать такой вариант.

В любом случае, конечно PNG лучше, за счет компрессии они весят меньше чем Targa, но больше ресурсов съедают на декомпрессию, если их много.
 
Последнее редактирование:

^_^

Знаток
Рейтинг
52
#5
???????????????????????????????????????????????????????

Я вот знаю следующее:
в 8-битном изображении может быть оттенков: 256х256х256=16,8 миллионов
256 потому что: 2 в степени 8. 2 потому что: да или нет. 8 потому что 8 бит.

Почему нельзя получить 8 битное изображение с четырьмя каналами вместо трёх?

Или тарга имеет ввиду что 24 бита это 8 битное изображение, 32 - это 8 битное с альфой?

Что тогда 8 битное изображение (image-mode-indexed colors)?
Это изображение с 8/3 битами на канал? Это как вообще? Или там какой-то другой способ хранения информации о цвете?
Ок, допустим. Почему тогда нельзя взять это изображение и к нему прицепить альфа канал. Даже если это будет нормальный 8-битный канал с 256 оттенками, это будет весить в сумме 8+8=16бит
 
Последнее редактирование:

M.O.Z.G

Знаток
Рейтинг
50
#6
???????????????????????????????????????????????????????
Я вот знаю следующее:
в 8-битном изображении может быть оттенков: 256х256х256=16,8 миллионов
Оттенков может быть 16,8, это диапазон цветов, а всего в 8-битном изображении одновременно доступно только 256.

Что тогда 8 битное изображение (image-mode-indexed colors)?
Это изображение с 8/3 битами на канал? Это как вообще? Или там какой-то другой способ хранения информации о цвете?
В 8-битных изображениях используются индексные палитры, в которых количество всех возможных цветов ограничено 256. Там нет каналов, есть только индексный цвет для каждого пикселя, значения которого записано в 256-цветной палитре. Вы можете без потерь передать в 8-битное изображение все оттенки только одного цвета R/G/B, по сути каждый 8-битный канал 24/32-битного изображения это и делает. В играх конца прошлого века использовали один монотонный цвет (FF00FF), который вычитался из текстур, и таким образом образовывалась прозрачность. То же самое по сути делает 8-битный PNG и GIF, они создают в палитре дополнительный цвет, который объявлен прозрачным. Поэтому в 8-битных изображения с прозрачностями, количество видимых цветов ограничено 255-значениями.

Или тарга имеет ввиду что 24 бита это 8 битное изображение, 32 - это 8 битное с альфой?
Тарга имеет ввиду, что 24 - три 8-битных канала. Почему именно Тарга, в других форматах тоже самое? Потому что один 8-битный канал хранит информацию о 256 значениях для одного цвета и при выводе значения в разных каналах смешиваются.
 
Последнее редактирование:
Симпатии: ^_^
Сверху