1. Принцип
Основными методами называются TOHexstring (преобразование типа Int в шестнадцатеричную строку) и Parseint (анализ строки в Int).
2. Код
public static void main (string [] args) {string hexstring = colortohexvalue (color.red); System.out.println ("hexstring:" + hexstring); Цвет цвета = FromStrtoArgb (hexstring); System.out.println («Значение argb hexstring преобразовано в цвет :(»+string.valueof (color.getalpha ())+","+string.valueof (color.getred ())+","+string.valueof (color.getgreen ())+","+string.valueof (color.get ()+")+"; } частная статическая строка colortohexvalue (color) {return inttohexvalue (color.getalpha ())) + inttoHexValue (color.getRed ()) + inttoHexValue (color.getGreen ())) + inttoHexValue (color.getBlue ()); } частная статическая строка inttoHexValue (int number) {string result = integer.toHexString (number & 0xff); while (result.length () <2) {result = "0" + result; } return result.touppercase (); } частный статический цвет fromStrtoArgb (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 Number & 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.