web-dev-qa-db-ja.com

Photoshopで開いたときにPNG-8ファイルが壊れているのはなぜですか?

Photoshopでインデックスカラーを使用して透明度のない32ビットPNGを開くのはなぜですか?

たとえば、次の場所でStack Overflowロゴのpngアイコンファイルを取得しました: http://blog.stackoverflow.com/wp-content/uploads/icon-so.png PhotoshopCS3で開くとき、それは明らかにそれをインデックスカラーとして扱い、アルファチャネルを取り除きます。右の画像はアイコンのスクリーンショットです。 Photoshopの画像モードをRGBに変更しても、画像はまったく変更されません。私は他のいくつかのPNGでこれを試しましたが、ヒットまたはミスのようです。

他のプログラムで見ると、問題なく表示されます。

左:pngをPhotoshopで開き、右:ブラウザからpngのスクリーンショットを取得

left:png opened in Photoshop, right:screen grab of png from browser

PhotoshopはPNGファイル形式を正しく解釈しませんか?

9

問題はPhotoshopはPNG-8標準の一部をサポートしていないであるように見えます。 GIFのようなPNG-8は256色のパレットを使用します。どちらの形式も、透明度を表すためにこれらの256のインデックスカラーの1つを使用することをサポートしていますPNG-8は、パレット上でこれらの256色のそれぞれにアルファ値を設定することもサポートしています。 Photoshop(明らかにCS3とCS4)はこれをサポートしておらず、すべてのピクセルを不透明にします。

9

SuperPNG はこのファイルを正しく読み取ることができます。

2
Mr.Wizard

簡単な解決策(Photoshop CC):

Image -> Mode -> Check "RGB Color"(Not インデックスカラー

これで、ファイルは通常どおり編集可能になります。

0
James