因此,我的ruby on rails应用程序具有允许用户上传图片的功能。我知道Active Storage可以使用ImageMagick来调整图像的大小
model.image.variant(resize: "100X100")
但是,您也可以像这样在CSS中完成此操作:
<%= image_tag(rails_blob_url("file_name.jpg"), width: '100px', height: '100px') %>
您应该使用哪个?我应该使用ImageMagick还是CSS?
答案 0 :(得分:3)
第一种方法的优点是最终文件的大小。
当使用imagemagick作为调整大小时,文件的最终输出是实际的100x100文件,比方说,权重为100KB。然后,将此文件发送到前端,该前端将是仅重100KB的资产。
另一方面,如果仅在视图中调整大小,则将渲染原始资产,然后在前端调整大小,但是服务器和客户端将必须处理一个1MB的文件,而不是一个100KB,这将影响应用程序的性能。
答案 1 :(得分:1)
CSS最多在放大或缩小时可能会进行线性插值。但是ImageMagick具有许多先进的插值滤波器,不仅可以产生更清晰的结果和/或更少的伪像的像素复制或线性插值。参见https://imagemagick.org/Usage/filter/和https://imagemagick.org/Usage/filter/nicolas/