ホームページ >Java >&#&チュートリアル >JLabel に合わせて画像を自動的に拡大縮小するにはどうすればよいですか?
ラベルのサイズに合わせて画像のサイズを自動的に拡大縮小するにはどうすればよいですか?
JLabel を使用して画像を表示する場合、画像サイズが大幅に異なる状況が発生する場合があります。ラベルのサイズに合わせて画像サイズを自動的に調整するには、次の手順に従います。
Image#getScaledInstance を避ける:
Image#getScaledInstance は、そのパフォーマンスのため、控えめに使用する必要があります。制限があり、画質が低下します。画像のスケーリングの代替方法を検討してください。
フィットとフィルの理解:
ラベルの境界内に収まるように画像をスケーリングする (フィット) か、それともラベルの境界内に収まるように画像をスケーリングするかを決定します。ラベル全体を塗りつぶす場合、画像が切り取られる可能性があります (塗りつぶし)。
カスタムを作成するScalable Pane:
JLabel を使用する代わりに、JPanel から継承し、次の機能を提供するカスタム ScalablePane コンポーネントを作成します。
スケーリングされたインスタンスの生成:
フィットに応じて/塗りつぶし設定では、次のいずれかを使用して画像のスケールされたインスタンスを生成します。メソッド:
カスタムペイント:
ScalablePane のPaintComponent メソッドをオーバーライドして、スケーリングされたイメージを描画します。アスペクト比とペインの寸法を考慮して、画像をペイン内の中央に配置します。
これらの手順を実装すると、希望のサイズ内に収まるように画像を自動的に拡大縮小するカスタム コンポーネントを作成でき、応答性の高い、視覚的に魅力的なソリューション。
以上がJLabel に合わせて画像を自動的に拡大縮小するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。