2012-01-15 7 views
0

Я столкнулся с проблемой при попытке записать считыватель файлов * .tga. Для 32-битных таргетах фотошоп заполняет альфа-канал 255, что по-прежнему является стандартным, и работает, но в 16-битных тагах фотошоп заполняет альфа-бит нулями.Как узнать, есть ли Targa из Photoshop?

Есть ли способ сказать, что Targa пришла из Photoshop, поэтому я могу заполнить альфа-бит 1s?

+2

Что делать, если вы проверяете, содержит ли альфа-канал 0 бит, и если да, то установите его на 1? – buc

+0

, потому что это может сломаться, если кто-то загрузил 16-битное изображение, которое фактически использовало альфа-канал. – bitwise

+2

Ну, он редко использовал альфа-канал, чтобы установить _all_ pixels в ноль альфа, не так ли? – ypnos

ответ

1

версия 2.0 specification формата файл Targa содержит так называемую области Extension, который имеет идентификатор поля Software. В этом поле содержится имя приложения, создавшего файл.

Возможно, вы можете проверить, будет ли Photoshop создавать файлы Targa версии 2.0, и если он делает то, что ID программного обеспечения записывает в это конкретное поле, то в вашем приложении проверьте этот идентификатор.

Поскольку в формате Targa 1.0 нет такого поля, я не уверен, что вообще возможно обнаружение Photoshop.

+0

спасибо, но нет информации, сохраненной после того, как данные изображения =/не должны ли фотошоп сохранять эти изображения с глубиной до 15, если они не планируют использовать альфу? – bitwise