3 返信 最新の回答 日時: Apr 25, 2005 4:06 PM ユーザー:(t-hoso)

    PNG24の定義について

    Level 1
      はじめまして。保存形式に関する質問はこちらで大丈夫でしょうか?

      IllustratorやPhotoshopで「Web用に保存」をする際にPNG形式での保存ができますよね?
      PNGにはPNG8とPNG24があり、世間的な定義はPNG8は8bitカラーなので256色。PNG24は24bitカラーの1677万色だと思っています。
      なので、通常、24bitカラーにαチャンネル(PNGの場合は透明度)8bitを追加した32bitが透明度を含めたPNGだと思うのですが、AdobeCSのソフトでは、PNG24のファ イルに透明度を持たせることができますよね?
      となると、PNG24とあっても、これは32bitカラーということになるのでしょうか?
      直接操作とかには支障がないものの、かなり気になっている部分なのでご存知の方がいらっしゃいましたら、教えていただけるとうれしいです。
      よろしくお願い致します。
        • 1. Re: PNG24の定義について
          Level 1
          テクニカルサポートに電話して聞いてみました。
          そこで聞いた話では、Adobeソフトで表現しているPNG24は、フルカラーの24bitではあるものの、その中にフィルタを持たせ、透明度に“見せかける”ような技術を使っている、とのこ とでした。
          なので、24bitなんだけれど透明度がかかっているように見せているもの、ということになるそうです。

          納得できたようなできないような。。。。
          • 2. Re: PNG24の定義について
            Level 1
            ちょっと外しているかも知れませんが…
            24bitカラーにαチャネル8bitを加えたものを32bitカラーとは呼ばないと思います。通常α値をカラーの一部とは考えません。(だからこそ「α」つまり補助的なチャネルと呼ばれてい るのではないでしょうか。)
            一般的には、32bitカラーと言った場合、多くのグラフィックハードウェアでは内部的には24bitの部分しかカラーとして利用しておらず、残りの8bitは使われていません。今日のコンピ ュータは2のべき乗バイトを扱うように設計されているため、直接24bitで扱うよりも、32bitに拡張して扱う方が一般的に速いからです。
            もちろん、本当の32bitカラーというのもあり、それはR/B/Gそれぞれ10bit/11bit/11bitとか、そんなのだったと思います。

            一方、24bitカラーを32bitで扱う場合、実際には8bitを無駄にしてしまうのももったいないので、その8bitに不透明度を表すα値を埋めこんで扱うこともあります(特にアプリケー ションは)。しかしそれはあくまでもカラー値とα値を効率よく扱うための技術であり、32bitカラーと言う訳ではないと思います。

            また余談ですが、PNGの仕様では最大16bit/チャネルを扱えるので、48bitカラーまで扱えます。この場合は、カラー値は本当に48bit使います。
            • 3. Re: PNG24の定義について
              Level 1
              Kennyさん
              回答ありがとうございました。
              基本的に勘違いしていたみたいですね。お恥ずかしい限りです。
              大変、勉強になりました。ありがとうございました!