Palette – javascript 獲取圖片主顏色

    找到圖像中的主色。

    Palette 可以幫助你找到圖片中的主色。

    V2ex 介紹:https://www.v2ex.com/amp/t/503218

    Github:https://github.com/Luminqi/Palette

    Demo:https://color.luminqi.com/

    Github 文件本站下載:

    Palette-master.zip

    提取碼:無
    解壓碼:無
    Palette - javascript 獲取圖片主顏色

    如何使用?

    Palette.from可以接受元素或路徑

    Palette.from('/path/to/image').getPalette().then(colors => {
      // your code
    })
    

    const img = document.getElementById('img')
    Palette.from(img).getPalette().then(colors => {
      // your code
    })
    

    耗時的計算過程在WebWorker中運行。

    這是什么想法?

    • 它將首先開始欠采樣以減少圖像像素。
    • 計算每個像素的色調,并按色調對像素進行排序。
    • 將具有相似色調的像素分組。
    • 如果組中的像素很少或者它們的平均顏色太近,則合并這些組。

    原理是遍歷所有的像素點,然后找到最多出現的幾個像素嗎?

    首先像素的 rgb 值有 256*256*256 種可能,所以如果直接遍歷然后統計相同的 rgb 值是不靠譜的。

    這里其實會涉及到色彩量化(color quantization)。比較常見的算法有 Median cut, Octree, KMeans。

    我并沒有采用常規的方案,我的想法是如果能先把各個像素按照其顏色相近度排序,這樣相似的顏色就會靠在一起,形成一條連續的色帶。那么剩余的工作就很簡單了,就是把這條色帶切成一塊一塊,每一塊代表一種顏色,每一塊的顏色是它里面所有像素 rgb 值的平均值。比較可惜的是其實并不能完全對顏色排序,這里我采用色調(hue)進行排序并不完美。

    你提出的算法我也想過,我覺得可以先對每個像素的 r 值,g 值,b 值向右位移(>>)3 位(或者更多),這樣可以減少出現不同 rgb 值的概率。然后用一個 hash map 統計相同的 rgb 值。

    給TA贊賞
    共{{data.count}}人
    人已贊賞
    ??
    Npcink上的部份代碼及教程來源于互聯網,僅供網友學習交流,若您喜歡本文可附上原文鏈接隨意轉載。
    無意侵害您的權益,請發送郵件至 1355471563#qq.com 或點擊右側 私信:Muze 反饋,我們將盡快處理。
    ?
    購物車
    優惠劵
    搜索
    主站蜘蛛池模板: 国产一区二区三区播放| 亚洲一区二区三区四区视频| 一区二区免费视频| 亚洲福利一区二区精品秒拍| 老鸭窝毛片一区二区三区 | 国产成人AV区一区二区三| 中文字幕精品一区| 国产伦精品一区二区三区无广告| 激情综合一区二区三区| 在线|一区二区三区| 中文字幕AV无码一区二区三区| 中文字幕aⅴ人妻一区二区| 国产成人精品视频一区| 亚洲国产韩国一区二区| 日韩av无码一区二区三区| 国产免费伦精品一区二区三区 | 国内精品一区二区三区在线观看| 久久久国产精品亚洲一区| 国产内射999视频一区| 国产成人精品一区二区三区免费| 夜夜嗨AV一区二区三区| 国产成人AV一区二区三区无码| 国产一区二区精品久久凹凸 | 一区二区三区伦理高清| 国产一区二区三精品久久久无广告| 在线播放精品一区二区啪视频| 亚洲AV无码国产精品永久一区| 日韩精品一区二区三区中文3d| 国产精品久久久久一区二区| 久久国产精品免费一区| 99精品一区二区免费视频| 成人精品一区二区不卡视频| 一区精品麻豆入口| 中文字幕一区二区精品区| 国产乱码精品一区二区三区四川| 无码人妻aⅴ一区二区三区有奶水| 亚洲国产综合无码一区二区二三区 | 无码人妻一区二区三区精品视频| 亚洲综合av永久无码精品一区二区 | 久久一区二区三区免费| 狠狠综合久久av一区二区|