我可以上传多张图片,但我不确定如何自定义图片尺寸。
这就是我查看图片的方式:
<%= attachment_image_tag(image, :file, :fill, 300, 300) %>
:fill
:裁剪图片
300, 300
:是高度和宽度
在重新制作之前,我已经对图像的来源进行了硬编码,然后我使用这个CSS来修复图像的大小。
img {
display:block;
max-height: 430px;
max-width: 100%;
width:auto;
height:auto;
}
我希望整个高度保持一致,但宽度可以是任何尺寸,不会被扭曲或裁剪。
在这篇文章发表时,我想我可以通过将refile attachment_image_tag选项中的宽度和高度增加到类似800, 800
的方式来逃避,但它仍会裁剪图像......此外,我试过了摆脱:fill
,但我的图像不会显示,代码就会中断。
答案 0 :(得分:4)
如果您查看Refile wiki,您会发现还有其他方法可以裁剪图像:see here
正如我在你的CSS中看到的那样,你正在寻找最大高度为430px,但如果图像高度低于430px,你就不会将它扩展到430px,所以我认为使用{{1}是不合逻辑的而我会使用fill
limit
正如文件所说:
限制(img,宽度,高度):
调整图像大小以适应指定的尺寸 保留原始宽高比。只会调整图像大小 大于指定的尺寸。得到的图像可能是 比任一维度中指定的更短或更窄但不会 大于指定值。
在你的情况下,你只是想要修正高度,你希望宽度是任何尺寸吗?所以在查看limit的代码后,它看起来像这样:
<%= attachment_image_tag(image, :file, :limit, 300, 300) %>
重新使用 Imagemagick 裁剪图像,如果我没有错,你可以做到这样做:
def limit(img, width, height)
img.resize "#{width}x#{height}>"
end
所以我认为你可以像这样设置x430 # width = any size, height = 430
到 nil 的宽度参数:
limit
希望得到这个帮助。