这可能是一个愚蠢的问题,但我很惊讶,Paint班级没有setColor(Color c)方法.我想做以下事情:
public void setColor(Color color) {
/* ... */
Paint p = new Paint();
p.setColor(color); // set color takes only int as a paramter :(
/* ... */
}
Run Code Online (Sandbox Code Playgroud)
因此,任何简单的方法来转换Color到int?
Dhr*_*val 70
任何color分析到int这里简单的两路:
1)获取系统颜色
int redColorValue = Color.RED;
Run Code Online (Sandbox Code Playgroud)
2)任何颜色十六进制代码作为字符串参数
int greenColorValue = Color.parseColor("#00ff00")
Run Code Online (Sandbox Code Playgroud)
必须记住上面的代码Color类必须android.graphics...!
Color 中的所有方法和变量都是静态的。您不能实例化 Color 对象。
Color 类定义了创建和转换颜色整数的方法。
颜色表示为压缩整数,由 4 个字节组成:alpha、红色、绿色、蓝色。
这些值是未预乘的,这意味着任何透明度都单独存储在 alpha 分量中,而不是存储在颜色分量中。
组件存储如下 (alpha << 24) | (红色<<16) | (绿色 << 8) | 蓝色。
每个组件的范围在 0..255 之间,0 表示该组件没有贡献,255 表示 100% 贡献。
因此,不透明黑色将是 0xFF000000(100% 不透明,但没有来自红色、绿色或蓝色的贡献),不透明白色将是 0xFFFFFFFF
| 归档时间: |
|
| 查看次数: |
90160 次 |
| 最近记录: |