php - 将 int 转换为 RGB。 PHP 和 HTML/CSS 中的可视化

标签 php css visualization

我正在尝试可视化网格上的数据,其中单元格值实际上由颜色表示。红色表示高,蓝色表示低。我太天真地认为 PHPdechex() 将通过简单地获取 int 的十六进制等价物并将其用作 background-color< 来帮助我CSS 中(我确实为小值应用了必要的零填充)。

但这并不能完全满足我的需求。有没有一种算法可以让我正确地形象化它?红色表示高,蓝色表示低。

我目前的代码是这样的:

<?php
    $dec = (int) $map[$y][$x]["total_score"];
    $hex = dechex($dec);
    $color = ($dec <= 65535) ? (($dec) ? "00$hex" : "ffffff") : 
                               (($dec <= 1048575) ? ("0$hex") : $hex);
?>

注意它做了什么:

ff0000 的十进制小于 ff00ff 但是在颜色上,前者会显示红色,后者会显示紫色。我希望红色代表非常高的小数点,蓝色代表非常低的小数点。

最佳答案

我认为 RGB 并不是这里最好的颜色模型。我会选择 HSL - 现代浏览器支持:color: hsl(0.5, 0.5, 0.5) 并且可以轻松转换为 RGB。

HSL 可让您轻松定义颜色的饱和度和亮度以及颜色本身。蓝色为 240 度,红色为 360 度,因此您只需将“低”映射到 240 度,将“高”映射到 360 度,将所有中值映射到 240-360 度范围。

关于php - 将 int 转换为 RGB。 PHP 和 HTML/CSS 中的可视化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7791948/

相关文章:

php - HTML ajax 响应不执行 javascript 函数

javascript - 更改背景位置 : "x"px "x"px using jQuery/Javascript for a class 中的 "y"

c# - 来自 Audio XNA 的标题抖动

php - OJS - 文章表中 "status"属性的值

php - 每周从多个表中获取唯一数据

html - RoR - 如何将一些带有 css 的 HTML 元素转换为 Rails

html - css中的感叹号是倒置的

visualization - 创建音乐可视化工具

python - 在 Geopandas 中编辑颜色条(图例)?

javascript - 如何使用 toDataURL 从 Canvas 发送图像到 php