鍍金池/ 問答/Java  PHP  HTML/ 有沒有什么方法改變圖片顏色,顏色轉(zhuǎn)換如下,支持將用戶上傳的圖標(biāo)修改為以紅色、黃色

有沒有什么方法改變圖片顏色,顏色轉(zhuǎn)換如下,支持將用戶上傳的圖標(biāo)修改為以紅色、黃色為主的圖片

圖片描述

回答
編輯回答
青裙

單純的顏色轉(zhuǎn)換用canvas可以實(shí)現(xiàn)。

但是我覺得更難的地方在于如何判斷出需要轉(zhuǎn)換的顏色,也就是識(shí)別問題。

以你的圖為例,人一眼能看出來是把路由器的白色變成了其他顏色,可是在實(shí)際代碼中需要有一個(gè)明確的顏色值來決定是否轉(zhuǎn)換,這個(gè)值不可能是用戶提供的,只能靠自己去判斷,也就是自己去找出這個(gè)白色的顏色值。

可以靠面積,但是這可能跟背景沖突。

可以靠形狀,這樣難度就上升了幾個(gè)數(shù)量級(jí)。

實(shí)際情況中需要替換的顏色不一定是同一個(gè)值,有可能受光照、陰影等影響,會(huì)造成細(xì)微的顏色差別,這也是要考慮的。

完整地把這一套實(shí)現(xiàn)下來,可能就相當(dāng)于一個(gè)小型美顏算法了??雌饋磉@也是個(gè)邊角需求,可以去找找開源實(shí)現(xiàn),節(jié)省一些力氣。

2018年7月27日 12:43