2009-03-02 16 views
7

Surface.blit có thông số mới là 1,8: pha trộn. Các giá trị sau được định nghĩa:Các chế độ pha trộn trong pygame có nghĩa là gì?

  • BLEND_ADD
  • BLEND_SUB
  • BLEND_MULT
  • BLEND_MIN
  • BLEND_MAX
  • BLEND_RGBA_ADD
  • BLEND_RGBA_SUB
  • BLEND_RGBA_MULT
  • BLEND_RGBA_MIN
  • BLEND_RGBA_MAX
  • BLEND_RGB_ADD
  • BLEND_RGB_SUB
  • BLEND_RGB_MULT
  • BLEND_RGB_MIN
  • BLEND_RGB_MAX

Can someon e giải thích những gì các phương thức này có nghĩa là gì?

Trả lời

9

Bạn có thể tìm ra nguồn cho các hoạt động pha trộn ở đây: surface.h

Về cơ bản, ADD thêm hai điểm ảnh nguồn và clip kết quả tại 255. SUB trừ hai điểm ảnh và clip tại 0.

MULT : result = (p1 * p2)/256

MIN: Chọn giá trị thấp hơn của mỗi kênh (không phải toàn bộ pixel), vì vậy nếu pixel1 là (100,10,0) và pixel2 là (0,10,100), bạn sẽ có được (0,10,0)

MAX: Đối diện với MIN (tức là (100,10,100))

Và có chế độ hòa trộn bổ sung không rõ ràng từ tài liệu: 0 (hoặc chỉ để lại tham số). Chế độ này sẽ "đóng dấu" bề mặt nguồn vào đích. Nếu bề mặt nguồn có kênh alpha, điều này sẽ xác định mức độ "mạnh" của mỗi pixel là (0 = không có hiệu lực, 255 = pixel sao chép, 128: result = .5*source + .5*destination).

Hiệu ứng hữu ích: Để làm tối một khu vực nhất định, hãy sử dụng chế độ hòa trộn 0, tô màu bề mặt nguồn/tem màu đen và đặt alpha thành 10: (0,0,0,10).

Để làm sáng, hãy sử dụng màu trắng (255,255,255,10).

+0

Không nên kết quả cho ví dụ MIN là (0, 10, 0)? –

+0

@AleksiTorhamo: Bạn hoàn toàn đúng. Đã sửa. –

2

Đó là chế độ hòa trộn để tổng hợp các hình ảnh trên đầu trang của nhau. Tên của chế độ hòa trộn đã cho bạn biết thao tác cơ bản.

Hằng số BLEND_* chỉ là bí danh cho hằng số BLEND_RGB_* và các biến thể BLEND_RGBA_* hoạt động trên tất cả bốn kênh (bao gồm cả kênh alpha) thay vì chỉ RGB.

Để biết thông tin chung về các chế độ hòa trộn khác nhau và hiệu ứng tương ứng, xem here.

+0

Cảm ơn câu trả lời. Bạn có thể cung cấp cho một số tipps khi sử dụng loại pha trộn? –

+0

Thad tất cả phụ thuộc vào những gì bạn muốn đạt được. Nó có thể là một chút phản trực giác, nhưng hãy nhớ những gì mỗi chế độ không cho bạn biết những gì màu sắc mang lại những gì có hiệu lực. Bạn có thể sử dụng phần mềm đồ họa như GIMP hoặc Paint.NET để chơi xung quanh với chế độ hòa trộn vì chúng hầu như giống nhau đối với các lớp. – Joey