`
minbing
  • 浏览: 27987 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

php生成热点图----RGB颜色变化规律

    博客分类:
  • php
阅读更多

PHP生成热点图,有两大要点:

1. 点需要有模糊效果。

2. 点越多,颜色需要越鲜艳。

借用http://www.labsmedia.com/clickheat/的算法,第一点比较好理解,第二点可以把RGB值和画图板里的颜色对比。

clickheat--version1:

<?php
define('CLICKHEAT_LOW_COLOR', 0); 
define('CLICKHEAT_HIGH_COLOR', 255);
define('CLICKHEAT_GREY_COLOR', 240);
define('CLICKHEAT_ALPHA', 60);
for ($i = 0; $i < 110; $i++)
{
	/** Red */
	if ($i < 10)
	{
		$red = CLICKHEAT_GREY_COLOR + (CLICKHEAT_LOW_COLOR - CLICKHEAT_GREY_COLOR) * $i / 10;
	}
	elseif ($i < 60)
	{
		$red = CLICKHEAT_LOW_COLOR;
	}
	elseif ($i < 85)
	{
		$red = CLICKHEAT_LOW_COLOR + (CLICKHEAT_HIGH_COLOR - CLICKHEAT_LOW_COLOR) * ($i - 60) / 35;
	}
	else
	{
		$red = CLICKHEAT_HIGH_COLOR;
	}
	/** Green */
	if ($i < 10)
	{
		$green = CLICKHEAT_GREY_COLOR + (CLICKHEAT_LOW_COLOR - CLICKHEAT_GREY_COLOR) * $i / 10;
	}
	elseif ($i < 35)
	{
		$green = CLICKHEAT_LOW_COLOR + (CLICKHEAT_HIGH_COLOR - CLICKHEAT_LOW_COLOR) * $i / 35;
	}
	elseif ($i < 85)
	{
		$green = CLICKHEAT_HIGH_COLOR;
	}
	else
	{
		$green = CLICKHEAT_HIGH_COLOR - (CLICKHEAT_HIGH_COLOR - CLICKHEAT_LOW_COLOR) * ($i - 85) / 35;
	}
	/** Blue */
	if ($i < 10)
	{
		$blue = CLICKHEAT_GREY_COLOR + (CLICKHEAT_HIGH_COLOR - CLICKHEAT_GREY_COLOR) * $i / 10;
	}
	elseif ($i < 35)
	{
		$blue = CLICKHEAT_HIGH_COLOR;
	}
	elseif ($i < 60)
	{
		$blue = CLICKHEAT_HIGH_COLOR - (CLICKHEAT_HIGH_COLOR - CLICKHEAT_LOW_COLOR) * ($i - 35) / 35;
	}
	else
	{
		$blue = CLICKHEAT_LOW_COLOR;
	}
	echo "R:".(int)$red.";&nbsp;&nbsp;&nbsp;&nbsp;G:".(int)$green.";&nbsp;&nbsp;&nbsp;&nbsp;B:".(int)$blue;
	echo "<br />";
}
?>

 clickheat--version18:

<?php
$colors = array(50, 70, 90, 110, 120);
$low = 0;
$high = 255;
$grey = 240;
for ($i = 0; $i < 128; $i++)
{
	/** Red */
	if ($i < $colors[0])
	{
		$R = $grey + ($low - $grey) * $i / $colors[0];
	}
	elseif ($i < $colors[2])
	{
		$R = $low;
	}
	elseif ($i < $colors[3])
	{
		$R = $low + ($high - $low) * ($i - $colors[2]) / ($colors[3] - $colors[2]);
	}
	else
	{
		$R = $high;
	}
	/** Green */
	if ($i < $colors[0])
	{
		$G = $grey + ($low - $grey) * $i / $colors[0];
	}
	elseif ($i < $colors[1])
	{
		$G = $low + ($high - $low) * ($i - $colors[0]) / ($colors[1] - $colors[0]);
	}
	elseif ($i < $colors[3])
	{
		$G = $high;
	}
	else
	{
		$G = $high - ($high - $low) * ($i - $colors[3]) / (127 - $colors[3]);
	}
	/** Blue */
	if ($i < $colors[0])
	{
		$B = $grey + ($high - $grey) * $i / $colors[0];
	}
	elseif ($i < $colors[1])
	{
		$B = $high;
	}
	elseif ($i < $colors[2])
	{
		$B = $high - ($high - $low) * ($i - $colors[1]) / ($colors[2] - $colors[1]);
	}
	else
	{
		$B = $low;
	}
	echo "R:".(int)$R.";&nbsp;&nbsp;&nbsp;&nbsp;G:".(int)$G.";&nbsp;&nbsp;&nbsp;&nbsp;B:".(int)$B;
	echo "<br />";
}
?>
1
0
分享到:
评论

相关推荐

    Matlab-RGB-颜色对照表(0-1之间取值).xls

    Matlab-RGB-颜色对照表(0-1之间取值).xls

    LongToRGB HexToRGB--PB十进制颜色转RGB

    "LongToRGB" 和 "HexToRGB" 是两种常见的颜色转换方法,分别用于将十进制数值和十六进制字符串转换为红绿蓝(RGB)三元组。本文将详细介绍这两种转换方法以及涉及到的二进制、十进制和十六进制之间的转换。 首先,...

    Color-image-processing.rar_RGB CMY_RGB-CMY_cmy_rgb cmy matlab

    这个压缩包"Color-image-processing.rar_RGB CMY_RGB-CMY_cmy_rgb cmy matlab"包含了一些关于RGB和CMY色彩空间转换的实例,这对于理解和应用图像处理算法非常重要。下面我们将深入探讨这些知识点。 首先,RGB(Red,...

    RGB-HSV-tongtailvbo.zip_RGB-HSV-tongtailvbo_RGB滤波_rgb 滤波_tongtai

    本项目"RGB-HSV-tongtailvbo.zip_RGB-HSV-tongtailvbo_RGB滤波_rgb 滤波_tongtai"主要涉及两个核心知识点:RGB到HSV色彩空间的转换以及同态滤波。 首先,我们来了解一下RGB到HSV色彩空间的转换。RGB(Red, Green, ...

    RGB-color-table.rar_RGB table_RGB颜色表_Table_qt table_qt table

    RGB颜色模型是计算机图形学和图像处理领域中最基础的颜色表示方式之一。这个“RGB-color-table.rar”压缩包文件提供了一个RGB颜色对照表,用于帮助开发者在工作中更方便地理解和使用RGB颜色。RGB代表红(Red)、绿...

    RGB-HSIandHSI-RGB.rar_HSI-RGB_hsi_rgb

    RGB(红绿蓝)是最常见的颜色模型,它基于人类视觉系统的工作原理,由三种基本颜色(红色、绿色和蓝色)的组合来表示所有可见颜色。而HSI(色调、饱和度、强度)色彩空间则是更接近人类感知的颜色模型,尤其适用于...

    常用RGB颜色表

    ### 常用RGB颜色表知识点详解 #### 一、引言 在设计与开发领域,色彩的选择至关重要。本文档提供了丰富的RGB颜色表,旨在帮助设计师、开发者以及其他创意工作者更轻松地选择合适的颜色搭配。通过这份详尽的颜色列表...

    RGB到YIQ,RGB到HSI和HSI到RGB,RGB到YcbCr,RGB到XYZ颜色转换matlab代码

    了解图像颜色空间的转换关系。 了解图像的文件结构。 实验内容 完成如下颜色空间的转换。(4 Points) RGB -&gt; YIQ RGB -&gt; HSI RGB -&gt; YCbCr RGB -&gt; XYZ 选做: 自己实现对 BMP 文件头的读取,并解析 BMP 图像文件。 ...

    Common-RGB-color-value.zip_RGB color

    RGB颜色模型是数字图像处理和计算机视觉领域中最基础的颜色表示方式之一。它基于红(Red)、绿(Green)和蓝(Blue)三种基本颜色的组合,可以产生各种颜色效果。在计算机屏幕上,我们看到的所有颜色都是由这三种...

    Color-image-processing.rar_rgb 分割_rgb仿真_彩色图像

    在IT领域,尤其是在图像处理和计算机视觉中,RGB颜色模型是一种基本的概念,它构成了许多图像处理操作的基础。这个“Color-image-processing.rar_rgb 分割_rgb仿真_彩色图像”压缩包文件包含了一系列与RGB彩色图像...

    基于神经网络RGB-D图像分割

    1. **预处理**:首先,将RGB图像和深度图进行融合,可以采用简单的像素级相加或更复杂的融合策略,如特征级别的融合,以创建一个综合的输入图像。 2. **基础网络**:使用预训练的二维卷积神经网络(如VGG、ResNet或...

    YUV-RGB.rar_RGB YUV_RGB YUV_RGB-gt;YUV_yuv to rgb_yuvrgb转换dsp

    这里我们关注的是YUV到RGB的转换,这是一个广泛应用于不同设备和格式之间进行颜色信息交换的过程。YUV色彩空间主要用于存储和传输视频信号,而RGB(红绿蓝)则是一种加性颜色模型,更常见于显示器上。 标题"YUV-RGB...

    常用颜色的RGB值,几乎覆盖所有颜色

    RGB(Red, Green, Blue)颜色模式是一种加性颜色模型,广泛应用于计算机显示、图像处理和数字媒体领域。在这个模型中,红色、绿色和蓝色光线的组合可以产生各种颜色,从纯黑到纯白,涵盖了几乎所有的视觉色彩。在...

    常用颜色的RGB值

    在实际应用中,开发者可能会编写代码来生成特定颜色的RGB值,或者创建工具来帮助用户快速查找和转换颜色。例如,一个颜色选择器工具会显示颜色的预览,并提供其对应的RGB值、十六进制值(#RRGGBB)或其他颜色模式,...

    RGB到YIQ,RGB到HSI,RGB到YcbCr,RGB到XYZ颜色转换matlab代码包

    (4 Points) RGB -&gt; YIQ RGB -&gt; HSI RGB -&gt; YCbCr RGB -&gt; XYZ 选做: 自己实现对 BMP 文件头的读取,并解析 BMP 图像文件。 (2.5 Points) 补充说明 程序从命令行中读取文件路径,并输出 4 个文件,文件名如下: ...

    Python-这个API给出了RGB值到一组颜色名称的最接近的近似值

    本话题聚焦于一个特定的API,它能够将RGB值映射到最接近的颜色名称,这对于简化颜色处理过程非常有用。 RGB(Red-Green-Blue)是一种颜色模型,广泛应用于数字图像和计算机屏幕上。每个颜色由红、绿、蓝三种颜色的...

    -Java-code-for-mixing-up-RGB-color-and-moving-of-_Moving Up

    在本项目中,标题"Java-code-for-mixing-up-RGB-color-and-moving-of-_Moving-Up"和描述"Java code for mixing up RGB color and moving of line"揭示了一个使用Java编程语言实现的特定功能,即混合RGB颜色以及线条...

    颜色代码RGB颜色查询对照表

    ### 颜色代码RGB颜色查询对照表 #### 概述 颜色代码是网页设计、图形界面设计等视觉表达领域中不可或缺的一部分。RGB颜色模型是一种加色法模型,主要用于显示器等电子屏幕显示颜色。该模型通过红(Red)、绿(Green...

    rgb-hsi.rar_HSI-RGB_RGB转化为HSI_hsi_rgb

    RGB(红绿蓝)色彩空间是我们在数字图像处理中最为常见的色彩模型,它基于人类视觉系统对颜色的感知。然而,在某些图像处理任务中,HSI(色相、饱和度、强度)色彩空间可能更为适用,因为它能更好地代表颜色的本质。...

Global site tag (gtag.js) - Google Analytics