2

また、帯域幅の観点から、どの方法(jpeg、png、gif)で圧縮するのが最適ですか?

4

3 に答える 3

5

使用する形式:

  • JPG/JPEGは非可逆圧縮です。詳細が失われます。(品質レベルは制御可能であり、役立ちます)
  • GIFは可逆圧縮ですが、8 ビット色空間への変換により、多くの画像、特に自然な画像が歪んでしまいます。
  • PNGは可逆圧縮です。

PNG を使用しないやむを得ない理由がない限り、PNG を使用することをお勧めします。詳細

同じ画像でも異なる形式を使用すると、通常、画質は画像サイズにほぼ反比例します。PNG の使用をお勧めします。PNG が大きすぎる場合は、JPEG を使用してください。PNG には、透過性をサポートするという利点もあります。

GIF は、アイコンやタイポグラフィなど、コンピューターで生成された小さな画像にのみ適しています。上記のリンクには、画像サイズの比較も含まれています。

いつものように、最善のテストは、アプリケーションですべてを試して比較することです。ただし、そのような分析の戻り値が最小限であるほとんどの状況では、PNG が妥当なデフォルトです。

JPEG、PNG、または GIF の作成:

実際にJavaからJPEG、PNG、またはGIFを作成する限りBufferedImage。Sun/Oracle のこのチュートリアルをチェックしてください。役立つコンテンツがたくさんあります。最後のセクションでは、JPEG、PNG、GIF の作成について明確に説明しています。これは、上記のリンクされたチュートリアルからの変更されたスニップです。

try {
    BufferedImage bufImg = getBufferedImage(); //get BufferedImage from your code...
    File fout = new File("saved.png");
    ImageIO.write(bufImg, "png", fout);
} catch (IOException e) {
    //handle exception...
}
于 2013-02-07T18:04:05.937 に答える
2

圧縮は、さまざまなファイル形式自体 (JPEG、PNG、GIF など) によって処理されます。

「帯域幅の点で最高」は、画像自体のサイズと内容に応じて、完全に主観的な質問です。

たとえば、色数が少なく、「平滑化」がほとんど行われていない小さな画像 (ピクセル グラフィックなど) は、PNG および GIF 形式でうまく機能します。多くの色と多くのスムージングを含む大きな画像 (写真など) はJPEGの方が適しています。その形式では、エンコード中の圧縮/品質も制御できます。

于 2013-02-07T18:03:41.840 に答える
1

JPEGの可能性が高いです。デフォルトの 75% 圧縮ですが、品質が不足しています。

品質が必要な場合: png を使用します。透明度が得られますが、これは jpg ではサポートされていません。PNG の品質も 100% と表示されます。優れた品質が必要で、ファイルサイズが小さい場合は、いつでも png を使用して、ファイルの base-64 に似た圧縮タイプを使用できます。次に、それを解凍して画像を保存します。画像の保存に使用するメモリ量は少なくなりますが、効果的に品質をそのまま維持することができます。

于 2013-02-07T18:03:04.913 に答える