例如,在使用rails资产管道时,image_tag "logo.png"
会导致以下HTML:
<img src="/assets/logo-0c1cd0fb.png">
rails是否有可能自动检测图像的尺寸(宽度和高度),以便它生成一个包含尺寸的HTML,以便更快地呈现页面,如下所示:
<img src="/assets/logo-0c1cd0fb.png" width="230" height="32">
由于您可能需要一半大小的视网膜图像,因此我想改善@iblue的答案。我更改了一些行来简化此操作。您需要fastimage gem并将以下代码放入ApplicationHelper中。
def retina_image_tag(source, options = {})
if !options[:size] # Do not overwrite size if already set by caller
@@image_size ||= {} # Cache for image sizes
if !@@image_size[source] # Fill cache
@@image_size[source] = FastImage.size(::Rails.root.to_s+"/app/assets/images/#{source}", :raise_on_failure => true)
@@image_size[source] = [@@image_size[source][0]/2, @@image_size[source][1]/2]
end
options = options.merge(:style => "max-width:" + @@image_size[source][0].to_s + "px")
end
image_tag(source, options)
end
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句