• ベストアンサー

PNG画像を小さくすると容量が大きくなる・・・

切り取ってPNG保存したいのですが、 横320px位で2.6kbでした。カラー数は8色から増やしていって適度に色が揃ったので17色にしました。文字も線もハッキリしています。 ちょっと大きかったので縮小すると(カラー数17色で同じ) 横280px位で3.2kbに容量が大きくなってしまいました。 文字も線も少しボケましたが許せる範囲内です。 素人考えでは、今まで画像を小さくすると容量も小さくなったのに何故なんだろうと不思議でわからなくなりました。 (GIFでも同じく縮小した方が容量が大きくなりました) この場合、 ホームページで公開するのに大きい方の横320pxの2.6kbで保存して 画像のタグで<img width="280" height="小さく"> とした方が画像も綺麗だしサイズも0.6kbほど小さくお得?ww この方が良いって事ですか? **************************************** いつもは適当にサイズを縮小してから色を揃えたらサイズも見ないで保存していましたが、 今度からは縮小前の原画サイズと縮小後のサイズを見比べてから良い方を選択した方が良いのでしょうか? 倍以上の時間が掛かります。。気にしない方が良いでしょうか? 何か良い方法はないでしょうか? みなさんどうやっているのでしょうか? 色々やってみましたが解決できませんでした _/ ̄|○ お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

PNGの色数は,2(1bit,白黒),4(2bit,パレットカラー/グレースケール),16(4bit,パレットカラー/グレースケール),256(8bit,パレットカラー/グレーケール),...となっています 使用色数が8なら、4bitパレットカラーですが、17になると8bitパレットカラーが必要になります。この時点で(圧縮前の)データ量は倍です。 また、縮小する際のアルゴリズムによっては、元画像にない色が出ます。 画素が減った分を、中間の色を使って表現するためです。元の色次第では、フルカラーが必要なケースもあります。 それだけデータ量が増えたのに、2割増し程度で収まっているのですから、圧縮効率としてはいい方でしょう。 気になるのなら ・色数を減らす 17色は中途半端です。その1色のために(圧縮前の)データ量が倍になっています。 16色以下にしましょう。 その際、縮小画像に対して減色します。「減色してから縮小」では意味がありません。 ・PNGを最適化する PNGの圧縮パラメータはいろいろあって、それ次第でファイルサイズが結構変わります。最適化すると、劇的、とまではいかないでしょうが、数百byte位は小さくなることはあります。 「PNG 最適化」で検索すると、各種ツールが見付かると思います。

takumana20
質問者

お礼

その後も色々やってみました。 たぶん、色を増やすのは自動で画像にあてはまる色を認識して増やしてくれてるのと思います。 原画の2.69kbの方を16色に自動ですると2.4kbになりますが、 自動で白が抜けるので別の色を抜くと2.63kbでそんなに変化ないです。 難しいです・・・ 最適化ツールを探してみます。ありがとうございました。

その他の回答 (1)

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

考えられる原因1  色を増やした  →8色から17色と 考えられる原因2  縮小したら実は色が増えていた  →にじむ…色数を変化させていないなら   にじませる色が存在しないのでにじまない 考えられる原因3  上記より17色と言っているけれどデータ的には実はフルカラー それと圧縮画像形式は 面積が狭くなるとあまり圧縮できないって罠が実は有るよ。 そんなことはない? とりあえず減色とかファイルサイズの削減とかで検索してみたら良いんじゃないかな。 http://www.google.com/search?lr=lang_ja&q=png%20%E6%B8%9B%E8%89%B2%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E5%AE%B9%E9%87%8F%E5%89%8A%E6%B8%9B

takumana20
質問者

お礼

ありがとうございます。 色は、どちらも17色数です。フルカラーではありません。 フルカラーだと5.9kbと6.9kbと表示されていました。 いつも縮小するとにじみ(気にする程度ではないのですが)が目立つところは、線と文字です。原画ではスッキリ、ハッキリ1pxの線のようですが縮小すると2pxのように見えます。何故細い線のままにならないのか、これも不思議です。 試しにニアレストネイバー法で縮小したら文字の一部が欠けました。