如何在Android中改变可绘制的颜色?我正在开发一个Android应用程序,而且我有一个从源映像加载的绘图。在这个图像上,我想把所有的白色像素转换成不同的颜色,比如蓝色,然后缓存生成的可绘制对象,这样以后我就可以使用它了。例如,我有一个20x20PNG文件,中间有一个白色的圆圈,圆圈外的所有东西都是透明的。将白色圆圈变成蓝色并缓存结果的最佳方法是什么?如果我想使用这个源图像来创建几个新的Drawable(比如蓝色、红色、绿色、橙色等等),答案会改变吗?我猜我会想在某种程度上使用彩色矩阵,但我不确定如何使用。
3 回答
GCT1015
TA贡献1827条经验 获得超4个赞
互换的青春
TA贡献1797条经验 获得超6个赞
ImageView lineColorCode = (ImageView)convertView.findViewById(R.id.line_color_code);int color = Color.parseColor("#AE6118"); //The color u want lineColorCode.setColorFilter(color);
HUH函数
TA贡献1836条经验 获得超4个赞
ColorMatrixColorFilter
int iColor = Color.parseColor(color);int red = (iColor & 0xFF0000) / 0xFFFF;int green = (iColor & 0xFF00) / 0xFF; int blue = iColor & 0xFF;float[] matrix = { 0, 0, 0, 0, red, 0, 0, 0, 0, green, 0, 0, 0, 0, blue, 0, 0, 0, 1, 0 };ColorFilter colorFilter = new ColorMatrixColorFilter(matrix);drawable.setColorFilter(colorFilter);
- 3 回答
- 0 关注
- 521 浏览
添加回答
举报
0/150
提交
取消