如果我在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顏色轉換爲C中最接近的ACI顏色#
- 3. RGB最接近預定義的顏色
- 4. 插值RGB顏色
- 5. MagiC++ RGB顏色值
- 6. 如何獲得RGB數值相當於vb.net中的顏色
- 7. 查找最近的RGB顏色
- 8. 一半的信是一種顏色,另一半另一種顏色
- 9. 如何知道顏色「觸摸」另一種顏色
- 10. 從一種顏色到另一種顏色到百分比
- 11. 將rgb顏色轉換爲最接近的有效CSS3顏色名稱
- 12. 十六進制顏色 - 如何計算從一種顏色到另一種
- 13. Java如何爲每種顏色提供兩種顏色值?
- 14. 用另一種顏色替換圖像中的特定顏色
- 15. 隨機生成顏色類似的另一種顏色
- 16. Python - RGB LED顏色褪色
- 17. 在UIView中將背景色從一種顏色淡出到另一種顏色
- 18. 如何將256色轉換爲最接近的匹配RGB顏色?
- 19. Matlab的如何RGB輸入後得到的顏色名稱值
- 20. 另一種方法將背景顏色淡入另一種顏色
- 21. iPhone PopUp RGB顏色
- 22. 改變RGB顏色
- 23. Java顏色與RGB?
- 24. RGB顏色排列
- 25. Chrome和RGB顏色
- 26. 從一種特定顏色到另一種顏色的研究生matlab繪圖
- 27. Arduino功能將RGB從一種顏色褪色到下一個
- 28. 如何在Ruby中獲得4種顏色的平均值?
- 29. 如何從圖像中獲得最常用的rgb顏色?
- 30. 在Android中,如何將位圖上的顏色更改爲另一種顏色?
這是否與Canvas /用戶輸入有關?你用的是jQuery嗎? – 2012-07-16 14:22:11
你能給出一個接近另一個的顏色和一個不接近它的顏色的例子嗎? – smilledge 2012-07-16 14:23:02
這一切都取決於你如何定義「關閉」。你的意思是色調接近嗎?接近光度? – robertc 2012-07-16 14:48:47