2013-10-07 66 views
1

使用RMagick来获取用户上传的图像的平均颜色。我已经把它显示为RGB格式。现在我想把这个RGB字符串作为一个颜色样本显示在页面上......关于如何完成这个的任何想法?Rails将rgb颜色字符串显示为颜色样本

{:r=>155, :g=>132, :b=>118} 
+0

我打算将其转换为十六进制,然后用前端代码对其进行设计... –

回答

1
# controller 
@image = Magick::Image.read(@design.photo.path).first 
average_color = # your magick method to return the average color 
# so average is like " {:r=>155, :g=>132, :b=>118} " 
@average_color_string = "##{average_color.values.map{|v| v.to_s(16) }.join}" 

#view 
Average color: <%= @average_color_string %> 

应显示是这样的:

平均颜色:#9b8476

.to_s(16)将整数转换为基于16字符串,也被称为十六进制

+0

再次感谢@MrYoshij。你今天一直是一个巨大的帮助 –

+0

不客气@Justin,今天不是忙碌的一天..哈哈! – MrYoshiji

+0

哈哈好东西,因为它让我完成了我已经推迟了几个星期的任务!再次,谢谢一吨。 –