PNG、JPEG、GIF ファイルのサイズを変更する必要があります。Java を使用してこれを実行するにはどうすればよいですか?
ベストアンサー1
ちなみに、私はJava用のシンプルな画像スケーリングライブラリ(Apache 2、GitHubでホスト)をリリースしました。画像スケール(上で利用可能メイヴンセントラル)。
このライブラリは、画像のスケーリングに対していくつかの異なるアプローチ (Chris Campbell の増分アプローチにいくつかのマイナーな機能強化を加えたものを含む) を実装しており、要求に応じて最適なアプローチを選択するか、要求に応じて最速または最も見栄えの良いアプローチを提供します。
使い方は非常に簡単で、静的メソッドをまとめるだけです。最も簡単な使用例は次のとおりです。
BufferedImage scaledImage = Scalr.resize(myImage, 200);
すべての操作は画像の元の比率を維持するため、この場合は、imgscalr に幅 200 ピクセル、高さ 200 ピクセルの範囲内で画像のサイズを変更するように要求しており、指定されていないため、デフォルトでは、最も見栄えがよく、最も高速な方法が自動的に選択されます。
最初はこれが自己宣伝のように見えることに気づいていますが (実際そうです)、私はこの同じ主題についてかなりの時間を Google で検索し、さまざまな結果/アプローチ/考え/提案にたどり着き、腰を落ち着けて、画像があり、おそらくそのサムネイルをできるだけ速く、またはできるだけ見栄えよくしたいという 80 ~ 85% のユースケースに対応する簡単な実装を書くことにしました (試したことのある人なら、十分に小さい画像に BICUBIC 補間を使用しても Graphics.drawImage を実行すると、まだゴミのように見えることに気付くでしょう)。