为调色板生成一组颜色的算法?

时间:2012-10-25 18:24:40

标签: algorithm graphics colors

考虑“cols”是每行中区别颜色的数量,“rows”是宽度为“w”且高度为“h”的区域的每列中的区别颜色数我怎样才能画一个统一的调色板,如下所示?事实上,我正在寻找生成RGB数字的算法。

enter image description here

3 个答案:

答案 0 :(得分:2)

对我来说是R * (255-x) + G * x + B * yxy介于0和255之间。

每个点的颜色为[255-x, x, y],其中xy是块[0, 255]^2中的坐标

答案 1 :(得分:0)

我建议您查看imagemagick库,该库能够以多种语言绘制图片。

生成RGB数字只不过是有三个嵌套循环从0到255运行或者有一个循环运行2 ^ 24并使用模运算来分离R,G和B值,如下所示:

<?php
for ($i=0; $i<16777216; $i++) {
    $r = ($i >> 16) % 256;
    $g = ($i >> 8) % 256;
    $b = $i % 256;
    print("$i\t$r\t$g\t$b\n");
}
?>

答案 2 :(得分:0)

要执行此操作,您必须先计算HSB值,然后再将它们转换为RGB。在HSB中有256种不同的色调(颜色),因此您最多可以支持256个不同的单元格。您显示的图像是8x64单元格= 512种不同的颜色,因此您还必须使用两个级别的亮度或饱和度。