当前位置: 首页 > news >正文

java int 颜色值转换为string 不带透明度

在 Java 中,将整数颜色值(不包含透明度信息)转换为字符串形式(如#RRGGBB),可以通过位运算提取 RGB 分量并格式化为十六进制字符串。以下是实现方法:

public class ColorUtils {/*** 将int颜色值(不带透明度)转换为#RRGGBB格式的字符串* @param color 颜色值(例如:0xFF0000 表示红色)* @return 格式化后的颜色字符串(例如:"#FF0000")*/public static String intToColorString(int color) {// 提取RGB分量int red = (color >> 16) & 0xFF;int green = (color >> 8) & 0xFF;int blue = color & 0xFF;// 格式化为#RRGGBB字符串return String.format("#%02X%02X%02X", red, green, blue);}// 示例用法public static void main(String[] args) {int red = 0xFF0000;int green = 0x00FF00;int blue = 0x0000FF;System.out.println(intToColorString(red));   // 输出: #FF0000System.out.println(intToColorString(green)); // 输出: #00FF00System.out.println(intToColorString(blue));  // 输出: #0000FF}
}

代码说明:

  1. 颜色值结构:整数颜色值(如0xFF0000)通常表示为0xRRGGBB,其中:

    • RR:红色分量(0-255)
    • GG:绿色分量(0-255)
    • BB:蓝色分量(0-255)
  2. 位运算提取分量

    • (color >> 16) & 0xFF:右移 16 位,提取高 8 位的红色分量
    • (color >> 8) & 0xFF:右移 8 位,提取中间 8 位的绿色分量
    • color & 0xFF:直接获取低 8 位的蓝色分量
  3. 字符串格式化

    • String.format("#%02X%02X%02X", red, green, blue):将 RGB 分量格式化为两位十六进制字符串,不足两位时补零(如0变为00)。

注意事项:

  • 如果你的整数颜色值包含透明度信息(格式为0xAARRGGBB),需要先移除透明度部分(例如:color & 0xFFFFFF)。
  • 该方法仅适用于处理不包含透明度的颜色值。如果需要处理带透明度的颜色(如#AARRGGBB),可以扩展此方法以包含透明度分量的提取和格式化。

http://www.lqws.cn/news/110611.html

相关文章:

  • Spring 官方推荐构造函数注入
  • unittest自动化测试实战
  • CCF CSP 第37次(2025.03)(3_模板展开_C++)(哈希表+stringstream)
  • 相机--相机成像原理和基础概念
  • 使用大模型预测亚急性脊髓联合变性的技术方案大纲
  • 【Android】双指旋转手势
  • OCC笔记:TopoDS_Edge上是否一定存在Geom_Curve
  • Nginx配置Ollama 访问api服务
  • 深拷贝与浅拷贝的区别?如何手写实现一个深拷贝?
  • ​​Agentic Voice Stack 热门项目
  • 【SAP FICO】在建工程及固定资产
  • 2023年12月四级真题Reading Comprehension的分析总结
  • LeetCode第245题_最短单词距离III
  • RTC实时时钟DS1338Z-33/PT7C433833WEX国产替代FRTC1338S
  • 自动化采集脚本与隧道IP防封设计
  • EscapeX:去中心化游戏,开启极限娱乐新体验
  • HarmonyOS运动开发:精准估算室内运动的距离、速度与步幅
  • 【QT】自定义QWidget标题栏,可拖拽(拖拽时窗体变为normal大小),可最小/大化、关闭(图文详情)
  • 笔记:算法题目中需要处理 int 某个位的三种方法:for、while、to_string
  • [Java 基础]变量,装东西的盒子
  • 功能管理:基于 ABP 的 Feature Management 实现动态开关
  • 《前端面试题:CSS预处理器(Sass、Less等)》
  • Go语言学习-->第一个go程序--hello world!
  • SQLite详细解读
  • 飞牛fnNAS使用群辉DSM系统
  • 黑马Java面试笔记之 消息中间件篇(RabbitMQ)
  • WPF技术体系与现代化样式
  • 数学复习笔记 24
  • MATLAB实战:视觉伺服控制实现方案
  • 无人机自主降落论文解析