java drawimage 예제

RescaleOp 개체는 만들 수 있는 많은 필터 중 하나일 뿐입니다. Java 2D API에는 다음을 포함한 여러 필터가 내장되어 있습니다. 소스의 4개의 하위 이미지를 반복해서 각 이미지를 임의로 선택된 대상 사분면으로 차례로 그립니다. 다음 코드 예제는 이미지를 흐리게 합니다. 흐림은 초점이 맞지 않는 이미지를 의미합니다. 이미지를 흐리게 하려면 컨볼루션 작업을 사용합니다. 그것은 또한 에지 감지 또는 잡음 제거에 사용되는 수학적 연삭이다. 흐림 효과로 다양한 그래픽 효과를 사용할 수 있습니다. 예를 들어 속도 환상을 만들거나 인간의 초점을 맞추지 않은 비전을 보여주는. Java 2D API는 이미지를 복사하고 배율 조정하는 것 외에도 이미지를 필터링합니다. 필터링은 소스 이미지의 픽셀에 알고리즘을 적용하여 새 이미지를 그리거나 생성합니다. 이미지 필터는 다음 방법을 사용하여 적용할 수 있습니다: 이미지 그리기에 대한 별도의 과정은 없습니다.

그것은 자바의 이미지 및 애니메이션 장의 일부입니다. 그러나 시장에서 플래시 도구 등을 갖춘 애니메이션에서는 별도의 코스를 이용할 수 있습니다. 코드 예제에서는 디스크에서 이미지를 로드하고 이미지에서 흐림 동작을 수행하고 결과를 창에 표시합니다. drawImage() 메서드의 오버로드는 이러한 작업을 수행합니다. 예를 들어 drawImage() 메서드의 다음 오버로드를 사용하면 지정된 이미지의 지정된 영역을 현재 사용 가능한 만큼 그릴 수 있으며, 대상 그리기 가능 표면의 지정된 영역 내에 맞게 크기를 조정합니다. 이미지를 네 개의 사분면으로 나누고 소스 이미지의 각 사분면을 대상의 다른 사분면으로 임의로 그립니다. 버퍼드이미지는 Java 2D에서 이미지 작업을 위한 기본 클래스입니다. 메모리에 저장된 픽셀의 사각형입니다. SeeThroughImageApplet.java에 표시되는 전체 예제에는 슬라이더를 사용하여 초기 50%에서 투명도를 조정하는 코드가 포함되어 있습니다. 이 예제에서는 duke_skateboard.jpg 이미지도 필요합니다. 사용 가능한 필터링 작업 중 하나입니다.

이것은 또한 픽셀 조작에 의해 수행 될 수있다. 그러나 Java 2D는 이미지를 보다 쉽게 조작할 수 있는 고급 클래스를 제공합니다. 이 경우 AffineTransformOp 클래스는 이미지 픽셀에서 크기 조정 및 변환을 수행합니다. 다음 예제에서는 반사된 이미지를 표시합니다. 이 효과는 이미지가 물에 반사된 것처럼 보이게 합니다. 다음 코드 예제는 jhlabs.com 코드에서 영감을 받았습니다. 다음 예제는 이미지를 뒤집습니다. 이미지를 필터링할 것입니다. 이미지를 변환하는 필터() 메서드가 있습니다.

src 매개변수는 복사하고 그릴 이미지 영역을 나타냅니다. dst 매개변수는 소스 영역으로 덮을 대상 영역을 표시합니다. dstx1, dsty1 좌표는 이미지를 그릴 위치를 정의합니다. 대상 영역의 너비 및 높이 치수는 다음 표현식으로 계산됩니다( dstx2-dstx1), (dsty2-dsty1). 원본 및 대상 영역의 크기가 다른 경우 필요에 따라 Java 2D API가 확장되거나 축소됩니다. 다음 예제에서는 설명된 각 필터와 배율을 사용합니다: URL1 = getCodeBase(); 이미지 img = getImage(url1, « bird2.gif »); 다음 코드 조각을 살펴보겠습니다: 이미지는 drawImage() 메서드를 사용 하 여 패널에 그려집니다. 마지막 매개 변수는 ImageObserver 클래스입니다. 비동기 로드에 사용되는 경우도 있습니다. 이미지의 비동기 로드가 필요하지 않은 경우 null을 넣을 수 있습니다. 투명 픽셀은 지정된 배경색으로 그려집니다. 이 작업은 지정된 이미지의 너비와 높이의 사각형을 지정된 색상으로 채운 다음 이미지를 위에 그리는 것과 동일하지만 더 효율적입니다.

흐림 필터 작업은 이미지의 각 픽셀을 픽셀과 주변의 평균으로 바꿉습니다. 회선은 픽셀당 작업입니다.