从数值数据生成彩色 android 位图

Generate colored android Bitmap from numeric data

假设我有一个整数数据数组,值范围从 0 到 100。我想生成一个 android.graphics.Bitmap,每个像素的颜色代表相应数组元素的数值。例如。假设我想要以下值范围的位图颜色:0-25:红色,26-50:橙色,51-75:蓝色,76-100:紫色。我看到了如何从数字数据创建一个像素图,但是颜色当然不符合我想要的。

int[] data = new int[width*height];

[ ...Load data array (values 0-100) from file...]

// Can create a bitmap from data - but how to get wanted colors???
Bitmap bitmap = Bitmap.createBitmap(metrics, data, width, height, someConfig);

有人可以概述我需要采取的步骤,将原始值映射到适当的颜色吗?

谢谢! 汤姆

像这样:

int drawColor=Color.TRANSPARENT; //fallback
if(data[index]<=25)
    drawColor=Color.RED;
else if(data[index]<=50)
    drawColor=0xFFFF9900;
else if(data[index]<=75)
    drawColor=Color.BLUE;
else if(data[index]<=100)
    drawColor=0xFF8000FF;
bitmap.setPixel(x, y, drawColor);

如果你关心颜色和数值的变化比例,参考

http://www.cs.uml.edu/~haim/ColorCenter/ColorCenterColormaps.htm