आप एक स्ट्रिंग का निर्माण करना चाहते हैं, तो आप शायद snprintf()
उपयोग कर सकते हैं:
const unsigned red = 0, green = 0x19, blue = 0x06;
char hexcol[16];
snprintf(hexcol, sizeof hexcol, "%02x%02x%02x", red, green, blue);
इस स्ट्रिंग 001906" in
hexcol`, जिसके कारण मैं अपने उदाहरण रंग (जो केवल चार अंक है व्याख्या करने के लिए चुना है का निर्माण करेगा जब यह छह होना चाहिए)।
आप इस तथ्य पर उलझन में प्रतीत होते हैं कि GL_ALPHA
प्रीप्रोसेसर प्रतीक को OpenGL की शीर्षलेख फ़ाइलों में 0x1906
माना जाता है। यह रंग नहीं है, यह प्रारूप विनिर्देशक है जिसे ओपनजीएल एपीआई कॉल के साथ उपयोग किया जाता है जो पिक्सेल से निपटता है, इसलिए वे जानते हैं कि किस प्रारूप की अपेक्षा की जा सकती है।
आप स्मृति में एक PNG छवि है, तो GL_ALPHA
प्रारूप को केवल अल्फा मूल्यों छवि में अनुरूप होगा (यदि है), ऊपर कुछ पूरी तरह से अलग है, क्योंकि यह एक स्ट्रिंग बनाता है। ओपनजीएल को स्ट्रिंग की आवश्यकता नहीं होगी, इसे आवश्यक प्रारूप में डेटा रखने वाले इन-मेमोरी बफर की आवश्यकता होगी।
यह कैसे काम करता है इस पर चर्चा के लिए glTexImage2D()
मैनुअल पृष्ठ देखें।
उस संख्या में, '0x1906', जो बिट्स विभिन्न रंगों का प्रतिनिधित्व करता है? –
मुझे इसके बारे में निश्चित नहीं है। लेकिन यह आरजीबी अनुक्रम की तरह होना चाहिए! पता नहीं है कि यह आपके प्रश्न का उत्तर देता है या नहीं। माफ़ कीजिये! – Tahlil
रुको, आप कुछ प्रारूप में कनवर्ट करना चाहते हैं लेकिन आप नहीं जानते कि यह प्रारूप क्या है? उस समस्या को हल करने का केवल एक ही तरीका है, और कोई भी वास्तव में आपकी सहायता नहीं कर सकता है। –