2015-11-14 57 views
0

在我的Rails 4应用程序中,我使用MetaInspector gem从用户提供的链接中截取图像。Rails 4:来自URL的裁剪图像和保留比例

这种方式,我能够在我的意见做这样的事情的:

<%= image_tag(@link.images.best) %> 

,它工作得很好。现在

,我想调整大小/作物这些图片450x246px的特定维度的话,我试着这样做:

<%= image_tag(@link.images.best, size: "450x246") %> 

但这种方法不保留图像的初始比例。

只要我们不扭曲它们,我就可以“切割”图像。

我发现this solution但它不适合我的用例:我不想将图像存储在我的数据库中,我只是想从URL中提取它们并将它们显示在我的视图中。

如何在我的视图中直接调整/裁剪我的图像?

回答

1

这里是我落得这样做:

#HTML 
<div id="container" style="background-image:url(<%= @link.images.best %>);"> 
</div> 

#CSS 
#container { 
    overflow: hidden; 
    width: 445px; 
    height: 246px; 
    background-position: 50% 50%; 
    background-repeat: no-repeat; 
    background-size: cover; 
    background-color: transparent; 
} 

这个作品真的很好,无论是宽度还是原始图像的高度。

+0

但是保存宽高比? –

+0

是的,因为图像被用作背景。 –

1

我想调整大小/作物这些图片450x246px特定 尺寸

您可以通过设置max-width或的的max-height CSS属性该维度的空间内将图片处理图像,无论哪个选项更适合您的使用情况。

<%= image_tag(@link.images.best, style: "max-width: 450px") %> 

<%= image_tag(@link.images.best, style: "max-height: 246px") %> 

而且如果你愿意的话图像尺寸是完全相同您指定的尺寸,你将不得不作物大图像和扩展较小的图像(同时保持当然纵横比)哪种情况下你有多种方式来做到这一点,所有这些都已经是answered here