내 질문에 drawImage 메서드가 Java Graphics2D (이는 Android 용이 아닌 데스크톱 용)에 포함됩니다.자바 drawImage 보간
내 고화질 이진 데이터가 포함 된 BufferedImage 대부분의 픽셀은 검정색이지만 일부 녹색 픽셀이 희미합니다. 녹색 픽셀은 들어오는 원시 데이터 스트림의 데이터 포인트를 나타냅니다. 비트 맵은 상당히 커서 나의 전형적인 패널 크기보다 큽니다. 크기를 크게 잡아서 확대/축소 할 수있었습니다. 문제는 내 녹색 픽셀을 잃어 버릴 때 축소하는 것입니다. 이미지가 1000 픽셀이고 패널이 250 픽셀이면 각 방향 (X 및 Y)에서 4 픽셀 중 1 개를 잃게됩니다. 내가 가장 가까운 이웃 보간법을 사용하면 픽셀을 스케일 할 때 검정으로 사라질 수 있습니다. 쌍 선형 보간과 같은 것을 사용하면 내 초록색 픽셀이 검은 색과 녹색색 사이에서 다시 채색됩니다.
나는이 모든 행동을 이해하지만 내 질문은 내가 원하는 동작을 얻을 수있는 방법이있다. 이는 픽셀이 검정색이 아닌지 전체 강도에서 그려 지도록하려는 것이다. 아마도 "최대 홀드 (max-hold)"보간과 같은 것입니다.
검은 색 배경 위에 도형 프리미티브를 그리면 원하는대로 할 수 있다는 것을 알고 있습니다. 어쩌면 이것이 내가해야 할 일입니다. 그러나 비트 맵을 사용하는 이유가 있습니다 (떨어지는 스펙트로 그램 디스플레이에서 데이터를 보여주고 있다는 사실과 관련이 있습니다. 그리고 모든 픽셀을 검정색이 아닌 색상으로 표시 할 수있는 모드가 있습니다. 녹색). 자바에서 구현하는 것은 정말 느린 것 재 있도록
감사합니다,
자신의 보간 알고리즘을 사용하여 이미지를 스캔하고 픽셀 당 픽셀을 페인트 할 수는 있지만 느려질 수 있습니다. [JAI] (http://www.oracle.com/technetwork/java/index.html) 또는 [ImageJ] (http://rsbweb.nih.gov/ij/)에서 찾을 수 있습니다. 하지만 성능면에서 드로잉 프리미티브를 사용하여 장면을 렌더링해야한다고 생각합니다. –
* "각 방향으로 4 픽셀 중 1 개를 잃어 버림"* 아니요, 3 중 4 –
사실, 3 of 4, 내 실수 –