colorUtils
郭业
2023-12-01
public class ColorCalculator {
//需要计算的原始颜色
private static String originalColor = "#23a8d2";
//需要计算颜色对于的透明度
private static float percentTransparent = 0.5f;
//透明层对应的底色
private static String bgColor = "#000000";
public static void main(String[] args) {
if (originalColor.startsWith("#")) {
originalColor = originalColor.replace("#", "");
}
if (bgColor.startsWith("#")) {
bgColor = bgColor.replace("#", "");
}
int colorR = Integer.valueOf(originalColor.substring(0, 2), 16);
int colorG = Integer.valueOf(originalColor.substring(2, 4), 16);
int colorB = Integer.valueOf(originalColor.substring(4), 16);
int bgColorR = Integer.valueOf(bgColor.substring(0, 2), 16);
int bgColorG = Integer.valueOf(bgColor.substring(2, 4), 16);
int bgColorB = Integer.valueOf(bgColor.substring(4), 16);
int resultColorR = (int) (colorR * percentTransparent + (1 - percentTransparent) * bgColorR);
int resultColorG = (int) (colorG * percentTransparent + (1 - percentTransparent) * bgColorG);
int resultColorB = (int) (colorB * percentTransparent + (1 - percentTransparent) * bgColorB);
String result = "#" + Integer.toHexString(resultColorR) + Integer.toHexString(resultColorG) + Integer.toHexString(resultColorB);
System.out.printf("最后的结果是:%s", result);
}
}