Tôi sử dụng XNA 3.1 tại thời điểm này với alpha tiền xử lý (hỗ trợ Alpha Premultiplied gốc được thêm vào 4.0).
Chủ yếu là nó giúp tôi tiết kiệm thời gian đi qua và đảm bảo các khu vực trong suốt của hình ảnh của tôi có màu sắc chính xác. Tôi cũng chuyển sang Silverlight, mặc định này có sẵn.
XNA có một đường dẫn nội dung giúp việc thêm tiền xử lý alpha tiền xử lý trở nên siêu dễ dàng.
Liên kết đó chứa mã để thực hiện chuyển đổi. Đối với mỗi pixel:
c.R = (byte)(c.R * c.A / 255);
c.G = (byte)(c.G * c.A / 255);
c.B = (byte)(c.B * c.A / 255);
Có rất nhiều điều để nói về việc có một đường ống nội dung. Nếu bạn không sử dụng XNA, nhưng đang sử dụng Visual Studio, thì bạn có thể tự mình kết hợp một cái . Bất kỳ IDE / quy trình xây dựng nào khác cũng phải có khả năng.
Và cuối cùng, nếu bạn không có bước xử lý nội dung trong bản dựng của mình (và vì vậy, dù sao bạn cũng không có nhiều nội dung), bạn có thể dễ dàng thực hiện tiền xử lý khi chạy khi bạn tải kết cấu. Nó sẽ thêm một số yếu tố không đổi vào thời gian tải kết cấu của bạn.
(Nếu hàm ý không rõ ràng: có lẽ bạn không nên chỉnh sửa ảnh alpha đã được xử lý trước. Xuất chúng thành tiền xử lý nếu bạn có thể, hoặc tốt hơn là xử lý trước chúng.)