Як я можу сказати Photoshop зберегти RGB-колір повністю прозорих пікселів при експорті як PNG?


12

У мене виникають проблеми з тим, як Photoshop обробляє повністю прозорі пікселі при експорті як PNG, тобто канали червоного, зеленого та синього кольорів будь-яких повністю прозорих пікселів зберігаються як 0 замість кольору, який я визначаю в Photoshop .

Наприклад: у мене є файл PSD з маскою шару. Деякі кольорові частини зображення зроблені повністю прозорими за допомогою шарової маски, але я все ще хочу, щоб оригінальні канали кольорів були записані у файл PNG замість просто 0.

(Так, сам формат PNG робить містити дані RGB , навіть для повністю прозорих пікселів. Це проблема з Photoshop, а НЕ PNG) .

Якщо вам цікаво, чому дані про кольори мають значення, коли піксель повністю прозорий, то ось кілька випадків використання:

  • Зразок PNG відбирається з більшою роздільною здатністю, ніж він зберігається, а вибіркові значення інтерполюються між сусідніми пікселями. Це може призвести до слабкого чорного "ореолу" навколо зображення, якщо інтерполяція не буде зважена прозорістю. (У моєму випадку цей підбір вибірки робиться на GPU, який з міркувань продуктивності не важить прозорістю.)
  • Червоний, зелений, синій та альфа-канали у файлі PNG використовуються для інших цілей, ніж для зберігання кольорової інформації. (У моєму випадку я використовую всі чотири канали для зберігання даних, необхідних для обчислень у режимі реального часу.)

Спасибі за вашу допомогу!

EDIT

Я спробую пояснити проблему, яку я маю з використанням деяких наочних посібників. Показати прозорі речі важко, але, сподіваюся, це робить мою проблему яснішою:

У мене є файл PSD з одним шаром і маскою шару. Кольоровий шар виглядає приблизно так:

введіть тут опис зображення

Його шарова маска виглядає приблизно так:

введіть тут опис зображення

Якщо я експортую цей файл PSD як PNG, я отримую таке:

введіть тут опис зображення

(Білі регіони дійсно прозорі; вони просто виглядають білими на білому тлі.)

Вам може бути цікаво: в чому проблема? Це виглядає правильно! Ну, проблема полягає в інформації про кольори, що зберігаються в цих прозорих пікселях. Використовуючи інструмент для вилучення даних непрозорості з PNG, залишаючи RGB недоторканим, ми можемо побачити інформацію про кольори, яку Photoshop зберігає у прозорі пікселі:

введіть тут опис зображення

Як бачите, Photoshop замінив інформацію про колір у прозорих пікселях на чорну. Враховуючи, що з даними непрозорості, видаленими з PNG, я хочу, щоб він виглядав так само, як оригінальний кольоровий шар:

введіть тут опис зображення


Показ прикладу того, що ви переживаєте, може бути кориснішим. Головним чином, тому, що в прозорій частині PNG не повинно бути жодної інформації про колір. Як ви економите PNG? Ви використовуєте "Зберегти для Інтернету" і чи перевірена "прозорість"? Я знаю, що це здається базовим, але не впевнений, як ви отримуєте свої результати.
ErickP

Так, я не публікував жодних прикладних зображень, тому що ви фактично не можете побачити проблему (не завантажуючи PNG у програму фарби та не вимкнувши прозорість), оскільки проблема лише із пікселями, які повністю прозорі. Я побачу, чи зможу я придумати спосіб візуалізації того, про що я говорю.
Walt D

Але коли ви говорите: "у прозорій частині PNG не повинно бути жодної інформації про колір", я фактично хочу , щоб у прозорій частині PNG була інформація про кольори. Я знаю, що це звучить дужче, але є певні програми, наприклад, два, про яких я згадував вище. (І так, PNG повністю підтримує інформацію про кольори у своїх прозорих регіонах; я використовую її весь час у процесуально створених PNG. Питання полягає в тому, як Photoshop зберігає прозорі регіони на PNG.)
Walt D

1
@ DA01 Я не думаю, що це помилка настільки, що це оптимізація, яку робить Photoshop (PNG з рівномірними кольорами займає менше місця на диску), що порушує мій конкретний випадок використання.
Walt D

1
@ErickP Дякую за спробу допомогти, я дуже вдячний. :) На щастя, графічні процесори сьогодні досить стандартні, і подібний підйом масштабів (відомий як білінеарна інтерполяція) працює абсолютно однаково для всіх, тому будь-яке рішення, яке я в кінцевому підсумку знайду, має працювати універсально.
Walt D

Відповіді:


10

Я знайшов рішення! SuperPNG плагін буде зберігати значення RGB для прозорих пікселів , як довго , як ви залишите «Чистий прозорий» прапорець.


Мені цікаво, чи є Photoshop CC, еквівалентний SuperPNG?
Марсель Вілсон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.