Войти
ФлеймФорумСофт

Проблема сохранения PNG в Photoshop

Страницы: 1 2 Следующая »
#0
8:28, 20 фев. 2018

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

Или возможно это проблема не Photoshop, а самого формата PNG, кто знает?


#1
8:40, 20 фев. 2018

cppboris
> возможно это проблема не Photoshop
GIMP делает подобным образом. Только значения не "произвольные", а те, которые были "до стирания" альфы в ноль. Т.е. при стирании пикселя (0.5, 1.0, 0.7, 1.0) он становится (0.5, 1.0, 0.7, 0.0), а не (0.0, 0.0, 0.0, 0.0), что, в общем, ожидаемо и правильно. Если совсем нужно исправить - выделите прозрачную область и залейте чёрным цветом.

А, вот, когда у меня библиотека загрузки png глючила и иногда "расставляла" альфу по своему усмотрению и стёртые участки изображения отображались на экране с альфой 1.0, это было весело.
#2
10:20, 20 фев. 2018

cppboris
Попробуй сохранять для веб. Там есть цвет фона, вроде как...

#3
11:08, 20 фев. 2018

eugeneloza
> GIMP делает подобным образом. Только значения не "произвольные", а те, которые
> были "до стирания" альфы в ноль. Т.е. при стирании пикселя (0.5, 1.0, 0.7, 1.0)
> он становится (0.5, 1.0, 0.7, 0.0), а не (0.0, 0.0, 0.0, 0.0),
вот именно что гимп делает то, что от него ожидается — просто зануляет альфу, оставляя цвет каким был. фотошоп же оставляет за собой право произвольным образом менять цвет прозрачных пикселей, так как их всё равно не видно и он обычно их заменяет на цвет ближайшего непрозрачного пикселя, чтобы при линейной фильтрации без premultiplied alpha не было артефактов на границе прозрачности.

KaZuaL
> Попробуй сохранять для веб. Там есть цвет фона, вроде как...
это не решает проблему хранения отдельной информации в альфаканале фотошопа. например, невозможно в одну текстуру в rgb запечь нормаль, а в альфу — roughness, потому что в участках с нулевой roughness фотошоп похерит rgb.

cppboris
> Или возможно это проблема не Photoshop, а самого формата PNG, кто знает?
это проблема именно фотошопа именно в отношении хранения альфаканала png. конкретно проблема в том, что при сохранении png у него вообще нет альфаканала в явном виде, а есть некий скрытый слой, который называется transparency и который нельзя вручную ни выдрать, ни модифицировать отдельно от rgb. у нас художники для этих целей используют плагин для фотошопа superpng, он позволяет именно это: модифицировать альфаканал отдельно от цвета при сохранении png, аналогично gimp, который умеет это из коробки.

#4
13:05, 20 фев. 2018

Suslik
тогда TGA в помощь.)

#5
13:08, 20 фев. 2018

KaZuaL
> тогда TGA в помощь.)
последний раз я видел, чтоб кто-то реально использовал TGA, был в какой-демке с физикой лет 10 назад. которую писал я.

#6
14:10, 20 фев. 2018

Suslik
Какая разница, когда, если работает?

#7
14:20, 20 фев. 2018

KaZuaL
ну очевидно же, что если никто не использует, то на это, вероятно, есть причины. ну и поддержка в сторонних редакторах и вьюерах может быть хуже.

#8
15:01, 20 фев. 2018

А то, что фотошоп принудительно рассчитывает цвет для premultipled alpha, уже исправлено?
Вообще, из форматов с альфой, фотошоп умеет ещё tga и bmp, но tga действительно устарел и мало где поддерживается, а bmp тоже получается какой-то кривой, например, GDI+ (то есть и Graphics из .net) его не понимает.

#9
15:05, 20 фев. 2018

Suslik
> это проблема именно фотошопа
А оно вон оказывается че. А я уже было начал думать, что это у меня руки не из того места...
А это всего лишь фотожоп говнище.

#10
15:08, 20 фев. 2018

Для фотошопа есть плагин SuperPNG, который сохраняет как надо.

#11
15:48, 20 фев. 2018

alorken
> Для фотошопа есть плагин SuperPNG, который сохраняет как надо.
То есть самый распальцованный редактор из коробки сам не умеет работать с самым популярным форматом изображений с альфаканалом.

#12
16:00, 20 фев. 2018

Suslik
> последний раз я видел, чтоб кто-то реально использовал TGA, был в какой-демке с
> физикой лет 10 назад.

В игродвижке ShiVa TGA является внутренним форматом для текстур, он всё в него конвертит.

#13
19:11, 20 фев. 2018

Mikle
> То есть самый распальцованный редактор из коробки сам не умеет работать с самым
> популярным форматом изображений с альфаканалом.
да ну не может быть

#14
19:33, 20 фев. 2018

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

Страницы: 1 2 Следующая »
ФлеймФорумСофт

Тема в архиве.