2010-09-17 31 views
6

Tôi đang tìm cách thêm các chế độ hòa trộn nâng cao hơn vào chương trình của mình (những chế độ mà tôi có thể tự xác định). Làm thế nào bạn sẽ đề nghị đi về điều này với Android?Chế độ hòa trộn Android

Đặt pixel riêng lẻ quá chậm để trở thành giải pháp khả thi.

+0

Điều này cũng cần phải là giải pháp bằng cách sử dụng hệ thống hiển thị Canvas, chứ không phải OpenGL. – GuyNoir

+0

Xin chào, tôi đã hỏi một câu hỏi liên quan về số lượng pixel mà android có thể vẽ và giữ tốc độ làm mới màn hình. Chỉ cần bao nhiêu pixles bạn vẽ trên mỗi screeen và làm thế nào fps bạn nhận được? –

+0

Tôi không thực sự có một đầu mối về FPS, nhưng tôi đã cố gắng để thiết lập một hình ảnh 50x50 nhiều lần (một cái gì đó khoảng 40-50 lần), và nó đã rất chậm. Đó là một công cụ smudge nên thao tác phải được áp dụng cho mỗi vài pixel dọc theo một đường vẽ. – GuyNoir

Trả lời

2

Để thành thật mà nói, tôi không chắc chắn điều này được hỗ trợ. Sử dụng OpenGL làm ví dụ, các chế độ hòa trộn được xác định bởi OpenGL ES Spec, để chúng có khả năng được triển khai trong phần cứng. Thêm chức năng pha trộn của riêng bạn sẽ phá vỡ các spec, chưa kể đến cực kỳ chậm, bởi vì nó sẽ phải hành động pixel bằng pixel.

Tôi không chắc chắn về canvas, nhưng tôi tin rằng bạn không thể làm điều đó ở đó, vì những lý do tương tự.

-1

Android hỗ trợ một tập hợp con OpenGL. Đó sẽ là con đường để thực hiện nếu bạn đang tìm kiếm tốc độ.

+2

Điều này không thực sự giải quyết câu hỏi. – num1

2

Có thể ngay cả khi không có OpenGL. PorterDuff nên là giải pháp:

android.graphics.PorterDuffXfermode

android.graphics.PorterDuff

Dưới đây là một ví dụ rất tốt:

http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/Xfermodes.html

+2

Vấn đề là tôi không thể thêm xFermode tùy chỉnh. Ví dụ làm sáng, tối, bão hòa, v.v. – GuyNoir

+0

@GuyNoir làm sáng và làm tối đã được xác định (xem PorterDuff.Mode). –

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