0

考虑“cols”是每行中区分颜色的数量,“rows”是宽度为“w”和高度为“h”的区域的每列中区分颜色的数量我如何绘制制服像下面这样的调色板?事实上,我正在寻找生成 RGB 数字的算法。

在此处输入图像描述

4

3 回答 3

2

R * (255-x) + G * x + B * y在我看来xy介于 0 和 255 之间。

每个点的颜色是它在块中的[255-x, x, y]位置xy坐标[0, 255]^2

于 2012-10-25T18:31:55.353 回答
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");
}
?>
于 2012-10-25T18:37:19.140 回答
0

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

于 2012-10-25T22:07:41.787 回答