我有一個形象的4x4個像素,每個像素具有精確的顏色,我想,如#439902等等,爲什麼我使用imagetruecolortopalette()時顏色發生變化?
我搶我的形象,將其轉換爲調色板使用GD的imagetruecolortopalette()
功能,然後我試圖找到最接近的顏色我的圖像使用imagecolorclosest()
功能,另一個預定義的顏色,問題是,它帶來了一種不同的顏色,一個不是在我的4x4圖像,顏色接近我的顏色之一,但我確切需要它。
我認爲問題是,當我在我的4×4圖像使用imagetruecolortopalette()
功能所有的顏色略有變化,
是否有辦法解決這問題?
舉個例子...
如果我搜索(66,100,39)我最親密的速配:(76,90,56)。
井76,90,56已經改變,因爲我的原始圖像中的顏色是(78,98,43)。 我知道它不遠,但我需要它保持不變
好像顏色是在三維空間中的點colorclosest作品 - 什麼是兩種顏色的「點」之間的最近直線距離並不一定是最接近「視覺「匹配。你可能想要嘗試imagecolorclosestwb(),它比數學上更感性地工作。 –
我瞭解顏色空間及其背後的數學知識。使用直線距離選擇最接近的顏色不是問題。只要它在我的圖像中得到一個顏色..它的確如此,問題是我的原始保存圖像的顏色與輸出圖像的顏色不同,我的圖像是PNG並以PNG形式輸出,我已經比較了兩個圖像它們是不同顏色的像素。我認爲這是一個壓縮問題,但我試圖將其保存爲PNG和JPG,儘管顏色結果略有不同,但仍與原始PNG圖像不匹配。 –