当前位置: 首页 > 面试题库 >

计算任意字符串的十六进制颜色代码

桂阳文
2023-03-14
问题内容

标题

有没有一种方法可以将任意字符串映射到十六进制颜色代码。我尝试使用字符串哈希码计算字符串的十六进制数。现在,我需要将此十六进制数字转换为十六进制颜色代码范围内的六位数。有什么建议

String [] programs = {"XYZ", "TEST1", "TEST2", "TEST3", "SDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS"};

for(int i = 0; i < programs.length; i++) {
  System.out.println( programs[i] + " -- " + Integer.toHexString(programs[i].hashCode()));
}

问题答案:

如果您不太在乎颜色的“含义”,则可以将int的位数拆分(将第一个仅删除RGB而不是ARGB)

String [] programs = {"XYZ", "TEST1", "TEST2", "TEST3", "SDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS"};

for(int i = 0; i < programs.length; i++) {
  System.out.println( programs[i] + " -- " + intToARGB(programs[i].hashCode()));
}
....
public static String intToARGB(int i){
    return Integer.toHexString(((i>>24)&0xFF))+
        Integer.toHexString(((i>>16)&0xFF))+
        Integer.toHexString(((i>>8)&0xFF))+
        Integer.toHexString((i&0xFF));
}


 类似资料:
  • 我用JSON格式存储了很多颜色。我使用rootbeer via gulp将它们转换为sass映射,可以由SCSS处理: 至 我可以很好地使用语法中的颜色,但一旦应用了任何颜色函数,如,编译器就会失败,因为颜色类型完全消失了。 即使使用也不允许sass将其视为字符串,但它需要是一种颜色。 我的问题是,是否有任何方法可以让我强制编译器将此作为一种颜色来处理呢?另一种方法是省略所有内置颜色函数的使用。

  • 问题内容: 在我的Java应用程序,我能得到的中的红色,绿色和蓝色的条款; 我将这些值存储在3 秒内。 如何将这些RGB值转换为包含等效十六进制表示形式的?如 问题答案: 您可以使用 资金使用X如果你希望你得到的十六进制数字予以资本化(的对比)。

  • 如何在Flutter中将这样的十六进制颜色字符串转换为? 我想在Dart中使用一个十六进制颜色代码。

  • 嘿,我在关注波士顿新闻的Android学习系列。我在这个部分:http://www.youtube.com/watch?feature=player_embedded 现在,我想做的是在某个地方(在代码或文件中)保存一些基本颜色,例如红色、绿色等,并为它们分配HEX代码。 比如,如果用户在“edittext”中键入“red”,那么我想将“red”的值存储为“#FF0000”(就像C中的#defin

  • 我在JavaFX ColorPicker中选择了颜色。现在我需要将其保存为十六进制字符串。我找到了这个方法,但是对于JavaFX它不适用。JavaFX有自己的Color类,没有getRGB()方法,可以用作中间转换。

  • 问题内容: 我在ex中有整数。16,我正在尝试将此数字转换为十六进制数字。我试图通过使用十六进制函数来实现此目的,但是每当您向十六进制函数提供整数时,它都会返回十六进制数字的字符串表示形式, 有人可以告诉我如何将字符串格式的十六进制数字转换为简单的十六进制数字。 谢谢!! 问题答案: