मुझे कोड की यह रेखा मिली: मैं यह समझने की कोशिश कर रहा हूं कि यह क्या करता है, खासकर क्योंकि पूर्ण कोड है: < / P> तो मैं यह अनुमान लगा रहा हूं कि किसी भी तरह से रंग पाठ के लिए किसी int ( उन चार लाइनों का क्या अर्थ है, विशेषकर शिफ्ट और ऑपरेटर प्रत्येक व्यक्तिगत बाइट को पुनः प्राप्त करने के लिए उपयोग किया जाता है। उदाहरण के लिए, अंत में, इससे आपको लाल बाइट मिलती है। this.red = (float) (par4 & gt; & gt; 16 & amp; 255) / 255.0 एफ; जहां लाल को
float के रूप में घोषित किया गया है।
this.red = (फ्लोट) (पैरा 4>> 16 & amp; 255) / 255.0F; This.blue = (फ्लोट) (पैरा 4 & gt; 8 & amp; 255) / 255.0F; This.green = (फ्लोट) (पैरा 4 और 255) / 255.0 एफ; This.alpha = (फ्लोट) (पैरा 4 & gt; 24 & amp; 255) / 255.0F; GL11.glColor4f (यह.red, this.blue, this.green, this.alpha);
par4 ) के विभिन्न स्थानों का उपयोग करता है।
par4 इस मामले में
553648127 के बराबर है।
& gt; & gt; 16 & amp; आरबीजी अल्फा चैनल (आमतौर पर या एआरजीबी के रूप में जाना जाता है) चार बाइट्स पैक किए जाते हैं।
एएएएएएएएएएआरआरआरआरआरआरआरबीबीबीबीबीबीबीबीजीजीजीजीजीजीजी / मूल पैरा 4, प्रत्येक चार एक बिट का प्रतिनिधित्व करते हैं। // जहां एआरबीजी अल्फा, लाल, नीला और हरा बिट के लिए खड़ा है।
par4 & gt; & gt; 16 & amp; 255 पूर्णांक 16 बिट्स को सही स्थानांतरित कर रहा है जैसे कि मूल 3 बाइट आधार पर स्थित है, और
255 को केवल एक बाइट निकालने के लिए मुखौटा के रूप में परोसा जाता है। < P> और
par4 & gt; & gt; 16 मूल बाइट 16 बिट्स को सही स्थानांतरित कर देगा;
0000000000000000 एएएएएएएएएआरआरआरआरआरआर
और 255 , जो
00000000000000000000000011111111 बिट-प्रतिनिधित्व में है, पिछले 8 बिट्स को मुखौटा देगा:
0000000000000000AAAAAARRRRRRR & amp; 00000000000000000000000011111111 = 00000000000000000000000000RRRRRRR
No comments:
Post a Comment