在Android Studio中将Double转换为彩色int



我正在安卓工作室中处理一个图像。简单地说,它只有9个像素。像素的值保存在中的双矩阵中,比如说它是我喜欢的东西:

double[][] matrix = {{-0.5, -0.4, -0.3},
{-0.1, -0.9, -0.4},
{-0.5, -0.6, -0.9}}

我想把每个替身变成一个彩色int,这样我就可以把它们一个像素一个像素地放进一个图像中。(在Matlab中,您可以使用类似colormap('jet')的东西(。

Bitmap bitmap = Bitmap.createBitmap(length, height, Bitmap.Config.RGB_565);
for(int i = 0; i< length ; i++ ){
for (int j = 0; j < height; j++){
//Convert number in matrix to color from blue to red
int color;
//Make correlating pixel that color
bitmap.setPixel(i,j, color);
}
}

我试过使用Scichart SDK,但许可证太贵了。我也尝试了Mines包,但它取决于Java AWT,这在安卓工作室中不可用

我在文件上找不到任何东西。

使用Color类中的一个方法将值映射到颜色的快速方法。

例如,使用Color.HSVToColor并将您的值作为";色调";会给你一个彩虹色的调色板。适当的映射将取决于矩阵中的值可以采用的范围。如果它们在-1到+1的范围内,这将适用于您:

float hue = (float) (matrix[i][j] + 1) * 180;
float[] hsv = { hue, 1f, 1f };
int color = Color.HSVToColor(hsv);

最新更新