在 Java 中,将 RGB 颜色值转换为十六进制字符串,以及将十六进制字符串转换为 RGB 颜色值,
#
开头,后面跟着六个十六进制数字,表示红、绿、蓝三个颜色分量的强度。#FF0000
表示红色,#00FF00
表示绿色,#0000FF
表示蓝色。是常见的操作。以下是一些示例代码,帮助你实现这些转换。
public class ColorConverter {
public static String rgbToHex(int r, int g, int b) {
return String.format("#%02X%02X%02X", r, g, b);
}
public static void main(String[] args) {
int r = 255;
int g = 165;
int b = 0;
String hexColor = rgbToHex(r, g, b);
System.out.println("RGB to Hex: " + hexColor); // 输出: #FFA500
}
}
public class ColorConverter {
public static int[] hexToRgb(String hexColor) {
if (hexColor.startsWith("#")) {
hexColor = hexColor.substring(1);
}
int r = Integer.parseInt(hexColor.substring(0, 2), 16);
int g = Integer.parseInt(hexColor.substring(2, 4), 16);
int b = Integer.parseInt(hexColor.substring(4, 6), 16);
return new int[]{r, g, b};
}
public static void main(String[] args) {
String hexColor = "#FFA500";
int[] rgb = hexToRgb(hexColor);
System.out.println("Hex to RGB: " + Arrays.toString(rgb)); // 输出: [255, 165, 0]
}
}
java.awt.Color
类Java 的 java.awt.Color
类也提供了方便的方法来进行 RGB 和 十六进制的转换。
import java.awt.Color;
public class ColorConverter {
public static String rgbToHex(Color color) {
return String.format("#%02X%02X%02X", color.getRed(), color.getGreen(), color.getBlue());
}
public static void main(String[] args) {
Color color = new Color(255, 165, 0);
String hexColor = rgbToHex(color);
System.out.println("RGB to Hex: " + hexColor); // 输出: #FFA500
}
}
import java.awt.Color;
public class ColorConverter {
public static Color hexToRgb(String hexColor) {
return new Color(
Integer.parseInt(hexColor.substring(1, 3), 16),
Integer.parseInt(hexColor.substring(3, 5), 16),
Integer.parseInt(hexColor.substring(5, 7), 16)
);
}
public static void main(String[] args) {
String hexColor = "#FFA500";
Color color = hexToRgb(hexColor);
System.out.println("Hex to RGB: " + color.getRed() + ", " + color.getGreen() + ", " + color.getBlue()); // 输出: 255, 165, 0
}
}
以下是一个完整的示例,包含 RGB 转 十六进制 和 十六进制 转 RGB 的方法:
import java.awt.Color;
import java.util.Arrays;
public class ColorConverter {
public static String rgbToHex(int r, int g, int b) {
return String.format("#%02X%02X%02X", r, g, b);
}
public static int[] hexToRgb(String hexColor) {
if (hexColor.startsWith("#")) {
hexColor = hexColor.substring(1);
}
int r = Integer.parseInt(hexColor.substring(0, 2), 16);
int g = Integer.parseInt(hexColor.substring(2, 4), 16);
int b = Integer.parseInt(hexColor.substring(4, 6), 16);
return new int[]{r, g, b};
}
public static void main(String[] args) {
// RGB to Hex
int r = 255;
int g = 165;
int b = 0;
String hexColor = rgbToHex(r, g, b);
System.out.println("RGB to Hex: " + hexColor); // 输出: #FFA500
// Hex to RGB
String hex = "#FFA500";
int[] rgb = hexToRgb(hex);
System.out.println("Hex to RGB: " + Arrays.toString(rgb)); // 输出: [255, 165, 0]
}
}
通过这些示例代码,你可以方便地在 Java 中进行 RGB 和 十六进制颜色值的转换。如果有更多具体的需求或问题,可以进一步调整和优化这些代码。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。