我已经使用 resize_to_fill 缩小到 [1,1] 大小,从而将图像缩小到包含基本上是整个图像的平均颜色的单个像素(当然,前提是图像在高度和宽度之间没有巨大的差异) . 现在我正在尝试以十六进制格式检索这个单个像素的颜色。
从终端窗口我可以像这样运行转换命令:
convert image.png txt:
# ImageMagick pixel enumeration: 1,1,255,rgb
0,0: (154,135,116) #9A8774 rgb(154,135,116)
但是,我不确定如何在图像所属模型的 before_save 部分从应用程序内部运行此命令。图片是使用carrierwave上传和附加的
到目前为止,我已经检索到图像:
image = MiniMagick::Image.read(File.open(self.image.path))
但我不太确定如何从这里开始。