如果我在RGB中有顏色。如何創建一個javascript函數,當另一個RGB值接近初始RGB時返回true,否則返回false?如何獲得接近另一種顏色的顏色的rgb值?
1
A
回答
4
我用這個和它的作品對我非常好:
// assuming that color1 and color2 are objects with r, g and b properties
// and tolerance is the "distance" of colors in range 0-255
function isNeighborColor(color1, color2, tolerance) {
if(tolerance == undefined) {
tolerance = 32;
}
return Math.abs(color1.r - color2.r) <= tolerance
&& Math.abs(color1.g - color2.g) <= tolerance
&& Math.abs(color1.b - color2.b) <= tolerance;
}
,並根據您的具體問題的顏色距離的意思可以是不同的,例如,也許在你的情況,你將需要將&&
更改爲||
+0
謝謝,這是我需要的 – omega 2012-07-16 14:54:41
1
這一切都取決於對您「接近」的意思。你可以像功能:
var color1 = { "r": 255, "g": 255, "b": 255 }
var color2 = { "r": 250, "g": 252, "b": 252 }
function isClose(color1, color2) {
var threshold = 30;
var distance = Math.abs(color1.r - color2.r) + Math.abs(color1.g - color2.g) + Math.abs(color1.b - color2.b);
if (distance < threshold) return true;
return false;
}
這將匹配是非常接近(基於簡單的RGB矢量距離)的顏色,但仍有其具有通過實驗選擇了門檻參數。
相關問題
- 1. 將某些像素RGB顏色到另一種顏色
- 2. 從RGB顏色空間中減去另一種顏色
- 3. 從一種顏色到另一種顏色的插值
- 4. 將RGB顏色轉換爲C中最接近的ACI顏色#
- 5. 背景顏色50%一種顏色和50%另一種顏色
- 6. RGB最接近預定義的顏色
- 7. 如何將一種顏色變成另一種顏色?
- 8. RGB顏色相近的近似算法
- 9. 如何將RGB顏色轉換爲最接近的匹配8位顏色?
- 10. 顏色 - 尋找最接近的顏色
- 11. MagiC++ RGB顏色值
- 12. RGB LED - 顏色值
- 13. 插值RGB顏色
- 14. PHP:如何將「接近白色」表達爲一種顏色?
- 15. direct2d中顏色的RGB值
- 16. 直接從高亮顏色切換顏色到另一種顏色
- 17. 如何獲得RGB數值相當於vb.net中的顏色
- 18. 如何獲得混合顏色的RGB值?
- 19. 查找最近的RGB顏色
- 20. 如何知道顏色「觸摸」另一種顏色
- 21. 一半的信是一種顏色,另一半另一種顏色
- 22. 從一種顏色到另一種顏色到百分比
- 23. 將rgb顏色轉換爲最接近的有效CSS3顏色名稱
- 24. 顏色的另一種顏色的JTable中選擇行
- 25. Android顏色資源 - 使顏色成爲另一種顏色的別名
- 26. 匹配CSS RGB顏色值
- 27. 如何用另一種顏色
- 28. 十六進制顏色 - 如何計算從一種顏色到另一種
- 29. Java如何爲每種顏色提供兩種顏色值?
- 30. 隨機生成顏色類似的另一種顏色
這是否與Canvas /用戶輸入有關?你用的是jQuery嗎? – 2012-07-16 14:22:11
你能給出一個接近另一個的顏色和一個不接近它的顏色的例子嗎? – smilledge 2012-07-16 14:23:02
這一切都取決於你如何定義「關閉」。你的意思是色調接近嗎?接近光度? – robertc 2012-07-16 14:48:47