Я использовал 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))
Но я не совсем уверен, как procede отсюда.
Ahh, отлично! Спасибо, спасибо! –
Прохладный. Im теперь уверен, как это будет иметь место, если вы соскабливаете изображение или если есть альфа-канал. Поэтому помните об этом :) –
Я думаю, что, уменьшив изображение до размера 1px на 1px, сначала следует устранить эту проблему, но определенно стоит иметь в виду другую реализацию. –