问题
I've inspected the Java class documentation for Color and found that I can generate a Color object from a hex code string (e.g. "#FFFFFF")
using the Color.decode();
method.
I would like to implement the reverse process for a project I am working on, but there doesn't seem to be a method already built in to the class for this.
Is there an easy way to do this?
回答1:
String.format("#%06x", color.getRGB() & 0x00FFFFFF)
The masking is used for removing the alpha component, in bits 24-31
回答2:
Color color = Color.BLUE;
Formatter f = new Formatter(new StringBuffer("#"));
f.format("%02X", color.getRed());
f.format("%02X", color.getGreen());
f.format("%02X", color.getBlue());
f.toString(); //#0000FF
回答3:
Read this: Getting Html color codes with a JColorChooser
The answer has a method to convert a color to it's hex value.
回答4:
There is another way. Thought I just add this alternative.
// ARGB = (255, 255, 0, 0) (Red)
// hex -> "ffff0000"
String hex = Integer.toHexString(color.getRGB());
// Reduced to RGB: hex -> "#ff0000"
hex = "#" + hex.substring(2, hex.length());
来源:https://stackoverflow.com/questions/15113918/a-way-of-getting-a-corresponding-hex-colour-code-given-a-color-object-in-java