首頁 >Java >java教程 >我們如何自動產生 N 種視覺上不同的顏色?

我們如何自動產生 N 種視覺上不同的顏色?

Patricia Arquette
Patricia Arquette原創
2024-10-28 19:42:29371瀏覽

How Can We Generate N Visually Distinct Colors Automatically?

如何自動產生 N 個「不同」顏色?

這個問題提出了創建 N 個視覺上不同的顏色的挑戰。雖然 RGB 立方體上的分段線性函數可以產生顏色,但它們可能並不總是明顯不同。其他方法包括將 RGB 立方體劃分為格子和採樣點。

但是,提供的解決方案仍然達不到最優性。

任意 N

  • 「分類影像的顏色顯示」提供了免費下載的解決方案。
  • 「個人化地圖著色的網路服務」提供了即將推出的網路服務解決方案。
  • 「An 「高對比顏色集選擇演算法」提供了免費的C 實作。
  • 「高對比顏色集」提出了解決此問題的第一個演算法。

N 是有限且相對較小的

給定一個小N,請考慮使用預定義顏色列表:

  • Boynton 的11 種幾乎從不混淆的顏色清單
  • Kelly 的22 種最大對比度顏色
  • 麻省理工學院學生創建的清單

提到的文章還提供了在顏色系統之間進行轉換的有用工具:

  • 顏色理論:如何將Munsell HVC 轉換為RGB/HSB/HSL
  • http://chem8.org/ uch/space-55036-do-blog-id-5333.html
  • https://metacpan.org/pod/Color::Library::Dictionary::NBS_ISCC

C# 中預先定義顏色清單的程式碼實作:

  • Kelly 的最大對比度設定
  • Boynton 的最佳化

十六進位與每通道8 位元的預設顏色:

  • Kelly 顏色的Python 實作
  • Kelly 顏色的JavaFX 實作

Kelly 顏色的JavaFX 實作

    其他提示:
  • 記得對顏色進行排序基於色調,以確保最大程度的區分。缺陷的人所列的顏色。

以上是我們如何自動產生 N 種視覺上不同的顏色?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn