मैं इस समय premultiplied Alpha (देशी Premultiplied अल्फा समर्थन 4.0 में जोड़ा गया था) के साथ XNA 3.1 का उपयोग करता हूं।
अधिकतर यह मेरे समय को बचाता है और सुनिश्चित करता है कि मेरी छवियों के पारदर्शी क्षेत्रों में सही रंग हैं। मैं सिल्वरलाइट को भी पोर्ट करता हूं, जो डिफ़ॉल्ट रूप से प्रीमेटिप्लीकेशन करता है।
XNA में एक कंटेंट पाइपलाइन है जो प्री -प्लेस्ड अल्फा प्रीप्रोसेसिंग सुपर-आसान को जोड़ता है।
उस लिंक में रूपांतरण करने के लिए कोड है। प्रत्येक पिक्सेल के लिए:
c.R = (byte)(c.R * c.A / 255);
c.G = (byte)(c.G * c.A / 255);
c.B = (byte)(c.B * c.A / 255);
कंटेंट पाइपलाइन होने के लिए बहुत कुछ कहा जा सकता है। यदि आप XNA का उपयोग नहीं कर रहे हैं, लेकिन विज़ुअल स्टूडियो का उपयोग कर रहे हैं, तो आप स्वयं को एक साथ फेंक सकते हैं । कोई अन्य आईडीई / निर्माण प्रक्रिया भी सक्षम होनी चाहिए।
और अंत में, यदि आपके पास अपने निर्माण में सामग्री प्रसंस्करण कदम नहीं है (और इसलिए कि आपके पास वैसे भी बहुत अधिक सामग्री नहीं है), तो आप अपने बनावट को लोड करने के समय रनटाइम पर आसानी से प्रीमोलिपीलेशन कर सकते हैं। यह आपकी बनावट लोड समय में कुछ स्थिर कारक जोड़ेगा।
(यदि निहितार्थ स्पष्ट नहीं था: आप शायद छवियों को संपादित नहीं किया जाना चाहिए । यदि आप कर सकते हैं, तो उन्हें प्रीप्लेप्टेड निर्यात करें या बेहतर अभी तक उन्हें प्रीप्रोसेस करें।)