문제

우리는 JAI(https://jai-imageio.dev.java.net/) Java에서 이미지 크기를 조정하고 자릅니다.우리는 이미지에 둥근 모서리를 만들고 싶습니다.어떻게 해야 할까요?

이미지는 JPG와 PNG입니다.JPG로 작업하는 것이 더 쉬울 것 같나요?

이미지는 JAI의 PlanarImage입니다.

PlanarImage src = JAI.create(...,...);

java.awt.Graphics 객체로 변환될 수 있습니다.

전에 이런 일을 해본 사람이 있나요?

도움이 되었습니까?

해결책

PNG는 투명한 알파 채널을 지원하지만 JPG는 지원하지 않습니다.따라서 JPG의 경우 둥근 모서리에 대해 직사각형의 "보이지 않는" 부분을 칠할 색상도 선택해야 합니다.

수업이 있어요 java.awt.geom.RoundRectangle2D 다음을 수행할 수 있습니다.

public void paint(Graphics g) {
    Graphics2D g2d = (Graphics2D) g;
    RoundRectangle2D rr = new RoundRectangle2D.Float(50, 50, 200, 100, 10, 10);
    g2d.draw(rr);
}

RoundRectangle2D 클래스의 Float() 메서드는 6개의 인수를 사용합니다.

  • 처음 두 개는 왼쪽 상단 모서리의 위치를 ​​나타냅니다.
  • 인수 3과 4는 둥근 사각형의 너비와 높이를 나타냅니다.
  • 마지막 두 인수는 모서리에 그린 아크의 너비와 높이를 나타냅니다.

따라서 모서리를 둥글게 만들려는 이미지만 포함할 둥근 직사각형을 그린 다음 오버레이하거나 마스크를 사용하여 원하는 효과를 얻습니다.

다른 팁

이미지에서 얻은 그래픽 객체에 원하는 모서리를 그리는 것은 무엇입니까? 나는 당신의 "둥근 모서리"가 어떻게 생겼는지 확실하지 않지만 그래픽 객체에서 모든 합리적인 페인트 작업을 수행 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top