我有一个4x4像素的图像,每个像素都有我想要的确切颜色,例如#439902等,
我抓住我的图像使用gd的imagetruecolortopalette()
函数将其转换为调色板,然后我尝试使用imagecolorclosest()
函数找到我的图像中最接近另一种预定颜色的颜色,问题是它带来了完全不同的颜色,一个不在我的4x4图像中,颜色接近我的一种颜色,但我需要它。
我认为问题在于,当我使用imagetruecolortopalette()
功能时,我的4x4图像中的所有颜色都会略有变化,
有没有解决这个问题的方法。
作为一个例子......
如果我搜索(66,100,39)我最接近的比赛是:(76,90,56)。
76,60,56已改变,因为原始图像中的颜色为(78,98,43)。 我知道它不远,但我需要它保持不变
答案 0 :(得分:0)
如果你保存为jpg,那可能是压缩问题;尝试保存为png,因为它不压缩,并且比jpg有更多的颜色。
从IM论坛取消了一些代码:
exec("convert square.png[1x1+0+0] -format " .
"\"%[fx:floor(255*u.r)],%[fx:floor(255*u.g)],%[fx:floor(255*u.b)]\" " .
"info: 2>&1",$result);
print_r($result);
我认为这里的方法是错误的,因为这会识别颜色而不是你想要的颜色?
答案 1 :(得分:0)
但是php已经有了这个功能: