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

标签 javascript php mysql xampp heatmap

我想制作一个热图,为此我从谷歌地图捕获了一张图像并分成网格,例如 enter image description here

现在,我想根据居住在该网格中的人数为特定网格着色。例如, 如果在 7,5 格,则没有。的居民是 7k+ 将其涂成红色。 4k到7k,用橙色着色。 小于4k,用黄色着色。

有什么办法可以实现这个目标吗? 附:这是一个网络应用程序。 感谢您的建议。

最佳答案

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

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

关于javascript - 如何通过从数据库中获取像素值来为图像着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50112063/

相关文章:

javascript - 未捕获的类型错误 : Illegal invocation on callback

PHP 代码缓存和优化

mysql - 数据库设计建议

php - 在 Laravel 中搜索关系和日期

javascript - 如何添加图像以显示/隐藏 div javascript?

javascript - WebRTC。不显示视频

javascript - 尝试使用 Javascript 原型(prototype)删除多个重复代码

javascript - 动态创建文本区域和按钮

javascript - 在 foreach 循环中创建具有唯一 ID 的输入字段`

php - 无法更新mysql数据库中的+1票