如何通过从数据库中获取像素值来给图像着色

ahy6op9u  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(301)

我想制作一张热图,为此我从googleMap上截取了一张图片,并将其划分为网格,

现在,我想根据居住在网格中的人数为特定网格着色。例如,如果在网格7中,5个居民是7k+用红色将其着色。4k到7k,用橙色涂色。小于4k时,用黄色着色。
我有没有办法做到这一点。这是一个网络应用程序。谢谢你的建议。

hgqdbh6s

hgqdbh6s1#

如果数据位于二维数组中,如下所示:

data = [ [6323, 9538, 1043, 1023, 4029],
         [3912, 5921, 4893, 9836, 2994],
         ... ];

然后,只需循环创建一个大小相同的二维数组,其中包含相关颜色:

colors = [data.length][data[0].length]
for (let row = 0; row < data.length; row++) {
    let colorRow = []
    for (let col = 0; col < data[0].length; col++) {
        if data[row][col] > 7000 {
            colorRow.append('red');
        } else if data[row][col] > 4000 {
            colorRow.append('orange');
        } else {
            colorRow.append('yellow');
        }
    }
    colors.append(colorRow);

然后,您可以访问矩阵中任何特定单元格的颜色,并使用该信息执行任何需要的操作:

color = colors[0][2] //returns 'red' for 9538

相关问题