>Java >java지도 시간 >JLabel 내에서 이미지 크기를 자동으로 조정하는 방법은 무엇입니까?

JLabel 내에서 이미지 크기를 자동으로 조정하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-02 16:12:15965검색

How to Automatically Resize Images within a JLabel?

JLabel의 자동 이미지 크기 조정

JLabel을 사용하여 JPanel에 이미지를 표시할 때 이미지의 크기를 자동으로 조정하려는 경우가 종종 있습니다. 라벨의 크기에 맞게. 기본적으로 JLabel은 원본 이미지의 가로 세로 비율을 유지하고 레이블의 사용 가능한 공간에 맞게 크기를 조정합니다.

자동 이미지 크기 조정을 달성하기 위한 한 가지 접근 방식은 JPanel을 확장하고 크기 조정된 이미지를 처리하는 사용자 정의 구성 요소를 활용하는 것입니다. 이미지 렌더링. 이를 통해 레이블 내에서 이미지를 맞출지 또는 채울지를 지정하는 등 크기 조정 동작을 더 효과적으로 제어할 수 있습니다.

크기 조정 옵션

두 가지 주요 크기 조정 옵션이 있습니다. JLabel의 이미지에 사용 가능:

  • Fit: 이미지는 원래 가로 세로 비율을 유지하면서 라벨 경계 내에 맞게 크기가 조정됩니다.
  • 채우기: 이미지가 전체 라벨을 채우도록 늘어나서 가로 세로 비율이 왜곡될 수 있습니다.

크기 조정 가능한 이미지를 위한 사용자 정의 구성 요소

다음 코드는 맞춤/채우기 옵션에 따라 이미지 크기 조정을 관리하는 ScalablePane이라는 사용자 정의 구성 요소를 보여줍니다.

public class ScalablePane extends JPanel {

    // ... (code omitted for brevity)

    @Override
    protected void paintComponent(Graphics g) {
        // Draw the scaled image
        super.paintComponent(g);
        if (scaled != null) {
            g.drawImage(scaled, x, y, this);
        } else if (master != null) {
            g.drawImage(master, x, y, this);
        }
    }

    // ... (code omitted for brevity)

}

사용 예

ScalablePane 구성 요소를 사용하려면 인스턴스화하고 원하는 이미지를 설정할 수 있습니다:

ScalablePane scalablePane = new ScalablePane(image);

// Set the fit/fill option
scalablePane.setToFit(true); // Fit image within the component

// Add the component to your JPanel
yourJPanel.add(scalablePane);

위 내용은 JLabel 내에서 이미지 크기를 자동으로 조정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.