1

画像サイズを縮小しようとしていますが、疑問に思っていました。

最初に元の画像を圧縮してからサイズを変更する方がよいですか、それともサイズを変更してから小さいバージョンの画像を圧縮する必要がありますか?

違いはありますか?

私はC#で作業しています。

4

3 に答える 3

3

何をしても、圧縮は常に最後に行われます。これは、圧縮が画像の保存に固有であり、圧縮された形式で画像を操作しようとするのは非現実的であるためです。単にファイルを渡すのではなく、画像自体を操作するために、事実上常に解凍します。

したがって、圧縮してからサイズを変更すると、手順の順序は[圧縮]->[非圧縮]->[サイズ変更]->[圧縮]になります。PNGのような「ロスレス」圧縮画像形式を使用している場合は、何も変更されないため、最初の2つの手順で時間を無駄にします。サイズを変更してから、圧縮することもできます。

これがどこにあるの違いは、JPEGのような「不可逆」圧縮アルゴリズムを使用する場合です。「非可逆」形式は、同様のアルゴリズムを使用して、画像のデータを可逆圧縮として実際に圧縮しますが、単純化の追加ステップが組み込まれています。画像は、実際のピクセルに(うまくいけば)微妙な変化を生成するように処理されます。これにより、圧縮アルゴリズムによって画像全体をより効率的に消化できます(通常、ピクセルのブロックはより類似しているため、ブロック全体を次のように表すことができます。 1バイトまたは2バイトの「ハッシュ」は、メタデータディクショナリで相互参照され、発生したブロックの代わりにハッシュが使用されます。この単純化は一方向です。処理された画像を「単純化解除」して元の画像に戻すことはできません。したがって、圧縮してからサイズ変更する手順の順序は、単純化->圧縮->非圧縮->サイズ変更->単純化->圧縮です。簡略化の手順は2回行われ、サイズ変更の前後で画像に影響を与えます。これにより実際にファイルサイズが小さくなるかどうかは、単純化フィルターを適用するために使用される正確な画像と品質設定によって異なります。

于 2012-08-17T21:03:16.730 に答える
2

圧縮すると画像の品質と細部が失われるため、原則として、圧縮は変更を適用した後の最後のステップである必要があります。

于 2012-08-17T20:32:54.910 に答える
0

圧縮する前に画像のサイズを変更すると、画像の品質には優れていますが、データサイズが原因でストリーミングには適していません。

圧縮してサイズを変更すると、ストリーミング(小さいサイズ)に適していますが、元のサイズでは品質が制限されます

于 2012-08-17T20:33:55.353 に答える