2010-12-22 29 views
36
public static int RGB(float[] hsv) { 
    return Color.HSVToColor(hsv); 
} 

यह फ़ंक्शन एक int, सेना रंग जोड़ता है। मैं कैसे परिवर्तित कर सकते हैं कि एक हेक्सा स्ट्रिंग के लिए पूर्णांक: #efefefएंड्रॉइड रंग int int में हेक्सा स्ट्रिंग

+0

संभावित डुप्लिकेट (http://stackoverflow.com/questions/6539879/how -to-convert-a-color-integer-to-a-hex-string-in-android) – avalancha

उत्तर

133

st0le के जवाब सही नहीं है रंग के संबंध में है। यदि पहले रंग घटकों 0 हैं तो यह काम नहीं करता है। इसलिए ToexString बेकार है।

हालांकि इस कोड को अपेक्षा के अनुरूप काम करेगा: [? कैसे एंड्रॉयड में एक हेक्स स्ट्रिंग के लिए एक रंग पूर्णांक कन्वर्ट करने के लिए]

String strColor = String.format("#%06X", 0xFFFFFF & intColor); 
की
+2

आपका बिल्कुल सही। मुझे समझ में नहीं आता कि दूसरों ने आपका जवाब क्यों कम किया। वैसे भी धन्यवाद! – DragonWork

+0

मुझे एक अलग जवाब मिला। मेरा आर = 71, जी = 15 9, और बी = 83 हेक्स जो प्रदर्शित कर रहा है वह '6C94C' है लेकिन यह वास्तव में' 47 9f53' – Si8

+2

चेतावनी है: अल्फा चैनल का उपयोग करते हुए यह 6 अंक संस्करण 8 अंकों हेक्सा रंगों के साथ काम नहीं करेगा। – John

19

यहाँ 2 तरीके हेक्स तार करने के लिए पूर्णांक परिवर्तित करने के लिए ...

int n = 123456; 
    System.out.println(String.format("#%X", n)); //use lower case x for lowercase hex 
    System.out.println("#"+Integer.toHexString(n));