2009-06-19 39 views
6

Tôi đang viết một công cụ trò chơi Java (http://victoryengine.org) và tôi đã thử nghiệm tạo hình ảnh "3d" với chiều sâu mà bạn có thể thấy với những chiếc kính màu đỏ/xanh đó. Tôi đang sử dụng Java2D cho đồ họa.Java tạo anaglyph (hình ảnh màu đỏ/xanh)

Tôi đã tạo thứ gì đó hoạt động nhưng rất chậm (bằng cách sao chép giá trị pixel và nội dung tương tự theo cách thủ công).

Điều tôi cần làm là lấy hai BufferedImages (một cho mắt trái, một cho bên phải) và kết hợp chúng thành một (hoặc bộ đệm khác hoặc trực tiếp vào màn hình). Đối với một tôi chỉ muốn các kênh màu đỏ, và cho một trong những màu xanh lá cây và màu xanh. Cách nhanh nhất để làm điều này là gì?

Trả lời

3

Look ATH hoạt động JAI BandMerge:

http://download.java.net/media/jai/javadoc/1.1.3/jai-apidocs/javax/media/jai/operator/BandMergeDescriptor.html

Tạo cặp lập thể của bạn như hình ảnh thang độ xám và sử dụng băng tần hợp nhất để kết hợp chúng như các kênh màu đỏ và màu xanh lá cây trong hình ảnh cuối cùng.

+0

Vậy thì màu xanh lam ở đâu? –

+0

Bạn có thể thêm cùng một hình ảnh hai lần để có được màu xanh lá cây và màu xanh nếu đó là yêu cầu của bạn – AndyT

Các vấn đề liên quan