作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为屏幕上的每个 x,y 坐标生成一个唯一的 RGB 值(我在 JS 中这样做)。
每个 RGB 值至少出现一次并不重要,但重要的是出现的每个 RGB 值都是唯一的(并非所有颜色都需要出现,但不能有重复的颜色)。
我看到很多人推荐使用 HSL/HSV 来确保使用所有颜色,但是因为在我的情况下这不是必需的,我想知道是否有更简单的方法。
我想出的方法如下:
var x = event.pageX/window.screen.width;
var y = event.pageY/window.screen.height;
var z = 1-x-y;
var r = parseInt(x*255);
var g = parseInt(y*255);
var b = parseInt(z*255);
最佳答案
假设 x 和 y 适合 12 位,您将得到 24 位,恰好是三种 8 位颜色的正确数字。因此,这将为高达 4096x4096 的屏幕的每个像素生成独特的颜色。
function xy_to_rgb(x,y) {
var t = x&0xFFF | (y<<12)&0xFFF;
return {
r: t&0xFF,
g: (t>>8)&0xFF,
b: (t>>16)&0xFF
};
}
关于javascript - 如何从 x,y 坐标到唯一的 RGB 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61831779/
我是一名优秀的程序员,十分优秀!