두 이미지로 오버레이 작업을 수행하고 싶습니다. 이러한 이미지의 밴드 수와 데이터 유형이 같아야 오버레이 작업을 수행 할 수 있습니다. 따라서 FormatDescriptor
을 사용하여 한 이미지의 데이터 유형을 다른 이미지의 데이터 유형으로 변경합니다. 그러나 이제 이미지는 모두 흰색입니다.JAI FormatDescriptor 이미지가 흰색이됩니다.
정상입니까? 또는 FormatDescriptor
에 오류가 있습니까?
RenderedImage finalImage = loadTiles(i, columns, rows);
// Format Image so that the data type matches that of the overlay
finalImage = FormatDescriptor.create(finalImage, overlay.getSampleModel().getDataType(), null);
images.add(finalImage);
columns = roundUp(columns, 2);
rows = roundUp(rows, 2);
여러분의 도움에 감사드립니다 :다음은 재 포맷에 대한 코드입니다.
EDIT 이미지의 데이터 유형과 일치하도록 오버레이의 포맷을 시도했습니다. 그렇게하면 이미지가 올바르게 표시되지만 오버레이는 완전히 검은 색입니다. 다음
정상 데이터 유형
은 :이미지 : 데이터 타입 = 1 (USHORT)
오버레이 = 0 (바이트)
EDIT 내가 아니라 포맷 시도 데이터 형식 이미지를 다른 모든 데이터 유형으로 변환합니다. 그리고 매번 나는 같은 결과를 얻었습니다. 이미지는 모두 흰색이었습니다. 단편화 할 때를 제외하고. 그런 다음
NullPointerException
이 있습니다.내가 뭘 잘못하고 있는지 전혀 모르겠다. Format Operation을 사용하는 많은 다른 예들을 발견했으며, 같은 방식으로 사용했습니다. 그러나 다시 포맷 할 때 흰색 이미지가 나타나면 포맷 작업을 사용할 때 어떤 점이 있습니까? 이미지의 데이터 유형을 변경하여 오버레이의 데이터 유형과 일치시키는 다른 방법이 있습니까?