img = Magick::Image.read(photo_path).first #读出原图片
mutiple = 570.fdiv(img.columns) #mutiple为比例
thumb = img.resize!(mutiple) #按比例剪裁
thumb.write(photo_path) #写回原图片
希望每次进入一个网站的主页时显示不同的背景图
1.将图片放在rails中的app/assets/images目录下,或者在public目录下新建background目录,然后放置图片
2.建立helper方法,实现随机获取目录中图片,并取得图片的路径
3.将获取的图片路径传递给image_tag或src,从而显示图片
将图片放在rails中的app/assets/images目录下
不需要的文件,在调用Dir.entries方法时,一眼便能认出:
所以只需要去掉即可。
将图片放在public/background目录下
两种方案在获取图片路径方案有所不同,这是因为:
在遍历目录中的文件时,我们使用的是Dir.entries方法,而不是Dir.glob方法,主要是考虑到案例中调用图片时所需的路径格式是相对路径而不是绝对路径。
建议读者自行查阅两个方法的使用方式和差异性。