2011-01-19 4 views
4

비트 맵을 그릴 때마다 모든 포인트의 색상을 수동으로 지정하고 싶습니다. 즉, RGB 값의 2D 배열을 PNG (또는 다른 무손실 트루 컬러 비트 맵 형식) 파일에 저장하는 작업입니다. .Scala로 비트 맵을 그리는 방법은 무엇입니까?

주어진 좌표의 이미지 위에 일부 텍스트 (지정된 크기의 글꼴 사용)를 인쇄하는 기능이 있으면 좋을 것입니다.

어떻게 구현하나요?

답변

7

Java 표준 라이브러리 ImageIO 클래스를 사용할 수 있습니다. 예를 들어 RenderedImage을 PNG 형식의 출력 스트림으로 인코딩하고 쓸 수있는 정적 write 메서드를 제공합니다. RenderedImage의 경우 BufferedImage 클래스를 쉽게 사용할 수 있습니다. 개별 픽셀의 색상을 직접 조작하는 방법은 setRGB입니다. 또는 BufferedImage.getGraphics()을 호출 할 수도 있습니다. Graphics의 인스턴스를 반환하며 모든 AWT 구성 요소와 마찬가지로 모든 유형의 모양이나 텍스트 또는 전체 GUI 구성 요소를 그릴 수 있습니다.

이것은 일반적인 자바 프로그램입니다. 스칼라는 특별한 래퍼를 제공하지 않으며, 노력의 가치가 있을지 의심 스럽다.

+0

물론입니다. 이것은 사소한 것들입니다. Interop은 스칼라의 강점 중 하나이며 래퍼를 작성할 때 이점이 거의 없습니다. –

2

Java Advanced Imaging API과 같은 Java 라이브러리를 사용해야합니다. 그것은 잘 문서화되어 있습니다.

+0

그런 원시 작업의 스칼라 기본 (또는 래퍼) 구현이 없다는 것을 의미합니까? – Ivan

+1

processing.org에서 처리하는 것은 2D 소재 용으로 매우 훌륭한 Java 라이브러리이며 Scala로 완벽하게 작동합니다. – nullspace

+0

나는 이런 원시적 인 일을 처리하는 것이 모기에 대한 무거운 포병을 사용하는 것과 같다고 생각한다. – Ivan

관련 문제