Превращение дубля в цветные вставки в Android Studio - PullRequest
1 голос
/ 13 июля 2020

Я работаю с изображением в студии android. Для простоты предположим, что у него всего 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, которого нет в android studio

Я ничего не могу найти в документации.

1 Ответ

0 голосов
/ 13 июля 2020

Быстрый способ сопоставить значение с цветом, используя один из методов класса Color.

Например, используя Color.HSVToColor и передавая свое значение в качестве «оттенка», вы получите палитра цветов радуги. Соответствующее сопоставление будет зависеть от того, какой диапазон могут принимать значения в вашей матрице. Если они находятся в диапазоне от -1 до +1, это сработает для вас:

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