1. مبدأ
تسمى الطرق الرئيسية tohexstring (تحويل نوع int إلى سلسلة سداسية) و parseint (تحليل السلسلة إلى int).
2. الكود
public static void main (string [] args) {String hexString = colortoHexvalue (color.red) ؛ System.out.println ("HexString:" + HexString) ؛ لون اللون = من StrTTOARGB (Hexstring) ؛ system.out.println ("قيمة ArgB لـ HexString تم تحويلها إلى اللون :("+string.valueof (color.getalpha ())+"،"+string.valueof (color.getred ())+"،"+string.valueof (color.getgreen ()+"،" } سلسلة ثابتة colortohexvalue (لون اللون) {return inttoexvalue (color.getalpha ())) + inttoHexValue (color.getred ()) + inttoexvalue (color.getgreen ())) + inttoexvalue (color.getBlue ()) ؛ } سلسلة ثابتة خاصة inttoHexValue (رقم int) {string result = integer.toHexString (number & 0xff) ؛ بينما (result.length () <2) {result = "0" + result ؛ } return result.toupperCase () ؛ } اللون الثابت الخاص من StrttOargb (String str) {String str1 = str.substring (0 ، 2) ؛ String str2 = str.substring (2 ، 4) ؛ String str3 = str.substring (4 ، 6) ؛ String str4 = str.substring (6 ، 8) ؛ int alpha = integer.parseint (str1 ، 16) ؛ int red = integer.parseint (str2 ، 16) ؛ int green = integer.parseint (str3 ، 16) ؛ int blue = integer.parseint (str4 ، 16) ؛ لون اللون = لون جديد (أحمر ، أخضر ، أزرق ، ألفا) ؛ لون العودة }3. التأثير
4. النقاط الرئيسية
4.1 Tohexstring: لا يوجد شيء يمكن قوله ، يوفر JDK تحويل الأعداد الصحيحة إلى سلاسل سداسية عشرية.
4.2 الرقم و 0xFF: تأكد من أن آخر 8 بتات من بيانات النوع int صالحة فقط ، و 24 بتات أعلى غير صالحة (الكل 0) ، ونوع int هو 32 بت ، ولكن الحد الأقصى لقيمة اللون هي 255 ، وهناك 8 بتات فقط لتلبية الاحتياجات. لذلك ، يجب علينا التأكد من أن البيانات الواردة هي قيمة ألوان قانونية ، ويجب التعامل مع البيانات التي تزيد عن 255 على أنها 255. في هذا الوقت ، هناك طريقتان. الأول هو طريقة المعالجة في هذه المقالة ، والثاني هو إضافة الحكم. إذا كانت البيانات أكبر من 255 ، فإنها تساوي 255 ، وإذا كانت أقل ، فلن تتم معالجتها. بالمقارنة ، فإن طريقة المعالجة في هذه الورقة هي طريقة المعالجة بأقل رمز وفعال.
4.3 &: bitwise "و" العملية. إذا كان الرمز الثنائي كلاهما 1 ، فإن النتيجة هي 1 ، وإلا فهو 0.
4.4 0xff: 0x يعني أن الرقم السداسي عشري يتبعه ؛ F هو 15 ، وعندما يتم تحويله إلى 2 ، يكون 1111 ، واثنين من FS هما 1111 1111 (255 في العشرية) ، فإن أول 24 بت هي 0. في هذا الوقت ، يضمن أداء العملية أن قيمة INT فقط في النطاق 0-255 هي قيمة اللون الصالحة.
لخص
ما سبق هو المحتوى الكامل لهذه المقالة. آمل أن يكون لمحتوى هذه المقالة قيمة مرجعية معينة لدراسة أو عمل الجميع. إذا كان لديك أي أسئلة ، فيمكنك ترك رسالة للتواصل. شكرا لك على دعمك إلى wulin.com.